Laravel Forge/LetsEncrypt SSL 错误“SSL_ERROR_NO_CYPHER_OVERLAP”

Laravel Forge/LetsEncrypt SSL 错误“SSL_ERROR_NO_CYPHER_OVERLAP”

有些用户抱怨说,由于“安全连接失败”(即 SSL),他们无法访问我们的网站。提供的实际错误代码是SSL_ERROR_NO_CYPHER_OVERLAP

服务器是 ubuntu 18.04 的 nginx。已通过 laravel forge LetsEncrypt 按钮安装 SSL。

我已经使用以下方式测试了我们的 4 个网站https://www.ssllabs.com并且似乎都出现了相同的错误。

错误仅与某些浏览器/操作系统(通常是旧版本)有关,即

Chrome 49 / XP SP3  Server sent fatal alert: handshake_failure

我还注意到我的网站仅支持 TLS 1.2 协议,因此我猜测这些旧版浏览器使用的是旧版协议。

| Protocols                                    |     |
|----------------------------------------------|-----|
| TLS 1.3                                      | No  |
| TLS 1.2                                      | Yes |
| TLS 1.1                                      | No  |
| TLS 1.0                                      | No  |
| SSL 3                                        | No  |
| SSL 2                                        | No  |
| For TLS 1.3 tests, we only support RFC 8446. |     |

是否有人遇到过此问题或对如何进一步诊断有任何建议。

答案1

解决此问题的一个潜在方法是编辑 SSL 证书配置:

sudo nano /etc/nginx/sites-enabled/yoursite.com

我按照 Mozilla 的建议将 TLS 版本和密码证书修改为中间设置。它现在仅出现在现代浏览器中,作为默认的 Forge 设置,这意味着许多设置无效。

https://mozilla.github.io/server-side-tls/ssl-config-generator/

重新运行https://www.ssllabs.com/测试显示浏览器兼容性没有错误,但密码强度级别略有降低。所以我猜兼容性更强,但安全性稍差。

如果有人对更好的方法有任何意见,请提供建议。

相关内容