作者:站长 发布于:2020-10-16 16:32 Friday 分类:linux
今天在我自己的Nginx部署证书,发现一个奇怪的事情,同样的配置文件,有的服务器可以正常跑起来,有的却不行。
自己调试了一波,发现还是不行,于是就在网上找原因。
有人说是跟Nginx的版本有关系,于是我第一时间去查看我的Nginx版本。发现的确是不一样的版本。
在Nginx1.15版本之前,我的配置HTTPS服务是如下这样配置的。
listen 443;
server_name zqsctjt.com www.zqsctjt.com;
ssl on;
ssl_certificate /nginx/conf/ssl/abc.com.crt;
ssl_certificate_key /nginx/conf/ssl/abc.com.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_prefer_server_ciphers on;
但是这个配置方式到了Nginx 1.15之后的版本就不适用了,配置上去之后,重启Nginx是不会报错的,但是在访问域名的时候,chrome浏览器会提示:ERR_SSL_PROTOCOL_ERROR 错误。
在网上找了一下资料,是说没有开启ssl配置的模块。
只要将上面的配置文件修改一下就好,改成下面的配置方式:
server {
listen 443 ssl;
server_name zqsctjt.com www.zqsctjt.com;
listen 443 ssl;
server_name zqsctjt.com www.zqsctjt.com;
ssl_certificate /nginx/conf/ssl/abc.com.crt;
ssl_certificate_key /nginx/conf/ssl/abc.com.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_prefer_server_ciphers on;