![技术小学生微信公众号 技术小学生微信公众号](/d/file/p/2023/11-06/384a0f88dc69e6f0b9276fec739fb818.png)
![腾讯云服务器大促销。](/d/file/p/2023/06-06/8f2af9e8846e4a93cc2a3890462510dc.png)
![华为服务器](/d/file/p/2023/07-25/08518ffe66f6cea5a59993d8b8d33b96.jpg)
问题现象:Nginx站点中域名部署好了SSL证书,使用https://blog.tag.gg方式访问出现报错“400 Bad Request:The plain HTTP request was sent to HTTPS port”检查证书配置和端口监听等没有发现问题,最终通过分析nginx配置文件规则解决了这个问题。
问题原因:报错字面理解意思为“ 普通HTTP请求已发送到HTTPS端口 ”一般情况是nginx部署证书的规则中有使用“ssl on;”参数。
解决方法:
1、分析nginx站点ssl证书部署规则,原本的规则如下
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;
分析上面规则看有启用“ ssl on;”监听设置规则为“ listen 443;”
2、将“ ssl on;”注释掉,将 listen 443;”修改为 “listen 443 ssl;”
修改后的规则如下:
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服务使其生效。
![技术小学生微信公众号 技术小学生微信公众号](/d/file/p/2023/11-06/384a0f88dc69e6f0b9276fec739fb818.png)
![华为服务器](/d/file/p/2023/07-25/08518ffe66f6cea5a59993d8b8d33b96.jpg)
![腾讯云服务器大促销。](/d/file/p/2023/06-06/8f2af9e8846e4a93cc2a3890462510dc.png)
文章评论 本文章有个评论