我的软件环境:
Ubuntu 24
Nginx
Cloudflare DNS
我使用Let’s Encrypt的Cerbot为admin.larabbs.zuotijia.me申请SSL/TLS证书后,使用浏览器访问https://admin.larabbs.zuotijia.me网站报错:
- 谷歌浏览器报错“使用了不受支持的协议ERR_SSL_VERSION_OR_CIPHER_MISMATCH”的原因及解决方法。
- 火狐浏览器报错“连接到 admin.larabbs.zuotijia.me 时发生错误。无法安全地与对等端通信:没有双方共用的加密算法。错误代码:SSL_ERROR_NO_CYPHER_OVERLAP”
但是同样使用Let’s Encrypt的Cerbot为www.zuotijia.me申请SSL/TLS证书,能正常通过浏览器访问https://www.zuotijia.me网站。说明不是Cerbot的问题。
错误原因
错误原因是,在Cloudflare上使用的是Cloudflare免费提供的SSL通用证书(Cloudflare Universal SSL),它只支持根域名(yourwebsite.com)以及二级泛域名(*.yourwebsite.com),不支持三级及以上的域名。
解决方法
方法一,不要使用三级及以上的域名。
方法二,在Cloudflare的仪表板->SSL/TLS->概述界面

配置加密模式为“灵活”或“关闭”:

但这种方法不够安全,因此不推荐这种方法。
方法三,不要使用Cloudflare管理域名,使用其他域名服务提供商来管理你的域名。
参考
https://devsdawn.com/2021/10/cloudflare-multi-level-subdomains-ssl-error
https://developers.cloudflare.com/ssl/edge-certificates/additional-options/total-tls/error-messages
https://developers.cloudflare.com/ssl/edge-certificates/additional-options/total-tls
https://developers.cloudflare.com/ssl/edge-certificates/additional-options/total-tls/enable
https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates
https://developers.cloudflare.com/ssl/edge-certificates/custom-certificates/uploading