困扰我两天的问题(nginx配置好ssl证书,https却不能访问)

前言

还得这个问题说起。
我买了服务器、域名、和申请的证书。什么都配置好之后,但是https 无法正常访问。http 可以正常访问。
详细问题地址:
腾讯云配置了ssl 证书,浏览器却无法访问?

分析

这个问题折磨了我整整两天,我将nginx 配置换了一遍有一遍,确认配置是没有错的,都是从安装指导上copy 下来的。并且telnet 443 端口也可以通。所以觉得没有问题。
然后怀疑是证书的问题,从新下载安装还是不行,最后我从阿里云申请证书,还是不行。这下确认证书没有毛病了。

进展

到这我觉得应该没有问题啊,怎么就不行呢。真的是没有解决办法的思路了。

最后思来想去还是觉得可能是防火墙或者dns 拦截了。
我先在服务器上执行

crul https://quellanan.xyz

发现是可以访问的,说明在本地访问这个网址是正常的。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第1张图片

接下来我就在本地试一下,但是本地是windows 系统没有curl 命令。还好win10 有内置的ubuntu。
所以我执行上面的命令,发现真不行
在这里插入图片描述
同时我执行了,发现是可以的。

crul http:quellanan.xyz

困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第2张图片
然后我为了排除不是curl 本身的问题,我还执行了,发现一样可以访问

crul https://www.baidu.com 

困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第3张图片

我们使用下面命令可能更清楚

curl -Iv http://quellanan.xyz

困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第4张图片
再看看https 的
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第5张图片
上面是百度的解析,可以看到协议握手建立连接的步骤。我们来看看我们本地运行的。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第6张图片
可以看到,1、2步是成功的,可以正确的连接到443端口,并且证书也是通过的,说明证书是有效的,但是在握手建立连接的时候就出现异常了。导致流关闭。

暂时方案

最后在网上查了一圈关于这个报错的,都不是我想要的结果。
到现在我算是真正山穷水尽了,没办法,我在腾讯云上提了一个工单请求帮助,很快就有回复了。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第7张图片
给出的解释是域名没有备案,导致不能访问的。

其实我是持怀疑态度的。网上都说用https 访问和是否备案是没有关系的。
但是确实什么配置都是对的,并且备案还没有申请下来。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第8张图片
所以也只能等备案下来再试试了。

番外

客服回复的截图如下:
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第9张图片
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第10张图片

前面我在本地使用相同的命名是握手失败的,但是他那边却是成功的,但是我curl 百度的网址也是成功的。所以我还是坚信不是curl 本身的问题。然后我登上自己的服务器上试试。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第11张图片
发现和客服的截图是一样的,所以猜测他们是用内网访问的。

到此,问题还没有得到完全解决,不过谢谢腾讯云客服提供的帮助。现在只能等几天,等备案下来再试试啦。

结果

刚好下午域名备案就申请下来了,可以试试,结果真的可以访问。
从新在本地试了一下,握手是可以成功的。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第12张图片
浏览器也可以访问成功,出现了安全的小锁。
困扰我两天的问题(nginx配置好ssl证书,https却不能访问)_第13张图片

到此问题算是解决了,造成无法访问的原因竟然是域名没有备案。下次知道了,还是不能心急啊哈哈。

你可能感兴趣的:(Nginx,个人博客)