之前用过那个 let 啥开头的 90 天免费 SSL,这个配置了好久还是不能用。
后来我看了简书教程,和上面的操作一样,结果访问首页报错 Error 525,经过 SSL 测试网站发现证书是 OK 的,这个问题怎么解决呢?
虚拟主机关键配置如下,系统是 centos6:
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /data/https/domain.pem;
ssl_certificate_key /data/https/domain.key;
阿里云就有免费的 ssl 证书,前几天刚配了一个
https://github.com/Neilpang/acme.sh
certbot
这个错误叫 handshake failed,你只贴个证书文件的路径很难看出什么
和 let's encrypt 、CloudFlare 的证书没有多大关系,还是 NGINX 配置问题。
我用 acme.sh 按照教程配置的,没问题好用,自动续期 let's encrypt 的证书。
把中间证书加进文件试下
这个证书本来就是自己签发的 浏览器不认的
楼主真可爱。
这个用了,还要装 Python3,默认用的 2,装完后软链接到 Python3 后 yum 不能用,又要改配置文件,把 yum 更新后用这个工具的命令,一键安装完成后依旧是网站打不开的。
这个证书要配合 CF 的 CDN 才能正常工作
你这个 525 我似乎也碰到过,是 CF 跟国内服务器 ssl 握手不成功,简单说是被墙了
似乎看有大佬说过,是因为 SNI 被墙,不知道禁用 SNI 是不是就能绕过?
我用的搬瓦工啊,和国内没关系啊
用的就是 CF 的 CDN。。。
把 CDN 关掉试试
目测中间证书的问题,把服务器证书替换成 fullchain.cer 试试。
/var/log/nginx 错误日志如何
有可能是 let's encrypt 证书续签时 80 端口被占用,没用续签成功。
CloudFlare 默认是用 http 去连接网站。先确认你的 SSL 连接是 Full 或者是 Full(strick)。
再确认 Crypto 中的 Universal SSL Status 已经是 Active Certificate, 也就是在 Crypto 页面最下面的 Enable Universal SSL 是开启的。
这些做好后等 24 小时就可以用 CDN 自签发的证书,或者 let's encrypt 其他的证书。
https://i.loli.net/2018/06/16/5b244f89cbdf0.png
https://i.loli.net/2018/06/16/5b244f89cd56b.png
和你的图片设置是一样的啊,第二个 disabled 我没点。
先把 cdn 关掉吧。看看域名能不能直接访问,如果正常的话浏览会提示未认证的证书。只能这样分段排查了。
这个路径下没有 nginx 这个文件夹呀
报错是这样的
![](
)
错误我已经在下面贴出来了,你看下是什么问题呢
解决了,还是按照官网的这个配置,不写到 nginx.conf,而是写到虚拟主机的配置文件里面。
https://support.cloudflare.com/hc/en-us/articles/217471977
如果服务器是 VPS 呢?不写入到 nginx 的配置中吗
就是 VPS 啊,是我虚拟主机的配置有问题。