出现ERR_SSL_PROTOCOL_ERROR如何解决

作者:站长 发布于:2020-10-16 16:32 Friday 分类:linux

今天在我自己的Nginx部署证书,发现一个奇怪的事情,同样的配置文件,有的服务器可以正常跑起来,有的却不行。

自己调试了一波,发现还是不行,于是就在网上找原因。

有人说是跟Nginx的版本有关系,于是我第一时间去查看我的Nginx版本。发现的确是不一样的版本。

在Nginx1.15版本之前,我的配置HTTPS服务是如下这样配置的。

 

server {
    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;

     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;


发表评论:

Powered by emlog 本站由耐思智慧提供计算服务