400 Bad Request:The plain HTTP request was sent to HTTPS port
解決方法:
1、分析nginx站點(diǎn)ssl證書部署規(guī)則,原本的規(guī)則如下
server {
listen 443;
server_name blog.tag.gg;
charset UTF-8;
ssl on;
ssl_certificate /ssl/blog.tag.gg.pem;
ssl_certificate_key /ssl/blog.tag.gg.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
分析上面規(guī)則看有啟用“ ssl on;”監(jiān)聽設(shè)置規(guī)則為“ listen 443;”
2、將“ ssl on;”注釋掉,將 listen 443;”修改為 “l(fā)isten 443 ssl;”
修改后的規(guī)則如下:
server {
listen 443 ssl;
server_name blog.tag.gg;
charset UTF-8;
#ssl on;
ssl_certificate /ssl/blog.tag.gg.pem;
ssl_certificate_key /ssl/blog.tag.gg.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
修改后記得重載nginx服務(wù)使其生效。
==============================
試了上述的方法還是不行,最后檢查看看在nginx/vhost目錄下有沒有別的 xxxhost.conf,真發(fā)現(xiàn)一個(gè)xxxhost.conf文件里面的可能還是有ssl on在干擾,刪除后 nginx -s reload,終于可以了

浙公網(wǎng)安備 33010602011771號(hào)