蓝点网
给你感兴趣的内容!

Nginx 配置 HTTPS 证书后报错并无法连接的解决办法

越来越多的网站开始部署 HTTPS 加密连接了,不过在部署过程中难免与遇到这样或那样的问题导致无法连接。

例如鸭子哥在配置蓝点网备用服务器的 HTTPS 证书后就发现无法连接,而 Nginx 启动时显示并没有什么问题。

在遇到 HTTPS 连接问题时首先我们需要检查 SSL 证书是否存在配置问题,例如证书颁发者和使用的前后顺序。

如果本身颁发者和使用者的前后顺序就是错误的那么浏览器自然会提示不可信的证书颁发者,因此需要根据浏览器的报错情况对症下药。

而鸭子哥今天遇到的是浏览器提示证书无效,但证书在主服务器上测试是没有问题的,那么剩下就是 Nginx 配置问题了。

首先使用以下命令检查下 Nginx 的版本:

[root@landian ~]:cd /usr/local/nginx/sbin  <===进入 Nginx 安装目录
[root@landian ~]:nginx -v  <===查看 Nginx 版本 

在对比过两台服务器上的 Nginx 版本后发现相差还是挺大的,主备服务器使用的分别是是 Nginx 1.8 和 1.1 版。

然后对比网站的配置文件位于/usr/local/nginx/conf/vhost/中,两台服务器上的配置文件相同:

server
    {
        listen 80;    <=== 允许 80 端口即 HTTP 访问
        #listen [::]:80;
	listen 443;   <=== 允许 443 端口即 HTTPS 访问
        server_name www.landiannews.com landiannews.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/www.landiannews.com;

        ssl_certificate www.landiannews.com.crt;
        ssl_certificate_key www.landiannews.com.key;

        location ~ /\.
        {
            deny all;
        }
    }

通过搜索引起查询后得知某些 Nginx 版本需要将 443 端口放在 80 端口前,但修改测试时发现网站依然无法访问。

查询到的第二种是进行如下修改:

listen 443; >>> listen 443 ssl;

修改后上传覆盖配置文件并重启 Nginx 后发现可以正常访问了,因此错误的原因在于配置文件的代码写错了。

但主服务器的版本要高于备用服务器的 Nginx 版本,listen 443 这种写法是支持新版本而不支持老版本的。

所以如果再遇到这类问题首先要检查 Nginx 版本,不然不同的写法有的支持有的不支持,再折腾也没戏了。

转载请注明来源于蓝点网及本文链接:蓝点网 » Nginx 配置 HTTPS 证书后报错并无法连接的解决办法
分享到: (0)
以下评论内容由网友保留所有权,除非特别注明否则所有评论均不代表本站观点!

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址