use*_*017 6 apache ssl openssl centos6
我正在 Centos6/Apache 上安装新的 SSL 证书,而我的 Web 浏览器一直在获取旧证书。为了测试我的设置,我使用了“openssl s_client”,但我看到基于“-servername”参数的不同结果。在我们看来,没有人看到这个参数,它也没有出现在手册页中,但我看到这里提到了OpenSSL: Check SSL Certificate Expiration Date and More。
如果我运行这个命令:
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates
我得到了证书的正确日期。
(notBefore=Apr 20 00:00:00 2017 GMT notAfter=Apr 20 23:59:59 2018 GMT)
但是,如果我在命令中引入 -servername 参数
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates
然后我得到浏览器显示的过期日期 -
(notBefore=Apr 20 00:00:00 2016 GMT notAfter=Apr 20 23:59:59 2017 GMT)
谁能解释为什么会发生这种情况,因为这一定与我的 SSL 证书在浏览器中显示为过期的原因有关。
谢谢哦
Mat*_*ell 16
此页面上(简要)记录了 s_client 的 servername 参数:
https://www.openssl.org/docs/man1.0.2/apps/s_client.html
本质上它有点像 HTTP 中的“主机”标头,即它导致请求的域名作为 SSL/TLS 握手的一部分(在 SNI - 服务器名称指示扩展中)传递。然后,服务器可以在单个 IP 后面托管多个域。它将根据请求的域名使用适当的证书进行响应。
如果您不请求特定的域名,服务器不知道该给您哪个证书,因此您最终会得到一个默认的证书。在您的情况下,服务器为您的域提供的证书之一已过期,但默认证书尚未过期。
您需要确保为您的域更新正确的 VirtualHost 条目,例如:
https://www.digicert.com/ssl-support/apache-multiple-ssl-certificates-using-sni.htm
| 归档时间: |
|
| 查看次数: |
17281 次 |
| 最近记录: |