大约一周以来,我的 Nginx 服务器间歇性地遇到 SSL 问题。
我知道在 stackoverflow 上还有一些关于这个问题的其他主题,但这些答案似乎都不适用
1 这是一个真正的问题,因为当我在网站上工作时,它突然死在我身上,并在 Chrome(版本 44.0.2403.155)中给我 SSL 错误:
SSL connection error ERR_SSL_PROTOCOL_ERROR
它也发生在 FF 上。
2 服务器没有耗尽内存(没有 OOM 运行的迹象,最重要的似乎也正常)
3 在 Debian (7.8) 上运行的 Nginx (1.8.0) 或 OpenSSL(OpenSSL 1.0.1e 2013 年 2 月 11 日)没有更新可用
4 我没有安装任何特殊的第 3 方库(只有标准的 nginx、mariadb、php 通过 fpm 设置没有电子邮件服务器)
我的日志有这些条目:
[crit] 15592#15592: *317414 SSL_do_handshake() failed (SSL: error:1408A0D7:SSL > routines:SSL3_GET_CLIENT_HELLO:required cipher missing) while SSL handshaking,
服务器安装了 NTP 以确保服务器时间同步(对吗?)。
当我遇到问题并给它几分钟并重新加载页面时,它再次工作,但它一直在发生。对于查看我的日志的其他人来说,这似乎并不经常发生。
最佳答案
我最终得到的解决方案:
我有多个服务器 block 对一些特殊的子域使用相同的 SSL 证书并删除它完全解决了问题..
所以基本上我似乎只能在一个 block 中使用 CERT(即使它是通配符证书)。我认为问题不在于证书,而在于 Nginx 访问 CERT 文件或其他东西。对多个子域使用证书或正则表达式确实有效(因此只有 1 个服务器 block 带有证书,但随后将域定义为 *.domain.com)
关于ssl - 间歇性 SSL 握手错误 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32036934/