解決Nginx報錯The plain HTTP request was sent to HTTPS port
編輯:狂族晨曦 來源:系統運維,經驗雜筆 日期:2016-12-09 閱讀: 62,746 次 3 條評論 » 百度已收錄
最后更新時間:2022-04-02
先森給現網業務搭建了Nginx做反向代理服務,包括http協議和https協議,結果申請公網IP后訪問發現報錯“The plain HTTP request was sent to HTTPS port”。經過一番研究后解決了問題,這里做個記錄。

Nginx 400錯誤
解決問題
解決方式1:
使用https://ip:port/*方式訪問,如果直接ip:port/*則是http協議,所以會報錯The plain HTTP request was sent to HTTPS port(普通的HTTP請求被發送到HTTPS端口)
解決方式2:
打開配置文件,查看HTTPS server段的配置:
修改前:
server {
listen 443 ssl;
server_name localhost;
...
}
修改方式,將監聽端口后的“ssl”刪除,即:
server {
listen 443;
server_name localhost;
...
}
這樣再直接用ip:port/*訪問則不會再報The plain HTTP request was sent to HTTPS port錯誤了。
除特別注明外,本站所有文章均為成航先森 www.cnidcc.cn 原創,本文共521個字
轉載請注明出處來自http://www.cnidcc.cn/nginx_400_https_error.html
轉載請注明出處來自http://www.cnidcc.cn/nginx_400_https_error.html

川公網安備 51011202000104號
因為443是https端口,欲使用443作http端口,nginx中注釋ssl on;即可。
就好像你訪問 https://ip.com:80 你的80是http協議,也會報同樣錯誤。
聽說Nginx的性能很不錯的!
我的只想要http 防衛
server {
ssl off; #無論是否去掉這一行,都是報這個錯誤,
server_name media.zhoulujun.cn;#填寫綁定證書的域名
listen 80;
root /data/wwwroot/zhoulujun/media;
}