我刚刚更新了负载均衡器后面的特定 Apache 虚拟主机的证书。使用命令重新启动了虚拟主机httpd -k restart -f /etc/httpd/someweb.tx.com/conf/httpd.conf
。
对我来说,检查更新的新证书是否是服务器上正在使用的证书的最佳方法是什么?我尝试使用下面的 openssl s_client 实用程序,但它似乎没有在本地检查证书,而是通过 dns 从我的生产站点提取旧证书。
openssl s_client -showcerts -servername example.com -connect someweb.tx.com:443
请注意,我在此服务器的 443 上运行了更多虚拟主机,其证书未发生变化,因此需要检查该特定虚拟主机上的证书更新。
此外,只要能够满足我的需求,我愿意尝试任何工具/实用程序,而不仅仅是 openssl s_client。请提供建议。
提前致谢 -B
答案1
使用 openssl s_client,您可以使用 设置 SNI 名称-servername
。使用-connect
您可以指定 ip 地址(或主机名)和端口。所以这应该可以解决问题:
openssl s_client -showcerts -servername example.com -connect localhost:443
答案2
我公司的 IT 部门关闭了我的其中一台主服务器后,我也遇到了同样的问题。
背景: 我真的很想用铬合金因为它是普遍可访问的,而且它自己会进行一些深度检查。但我不知道如何“从服务器 1.2.3.4 请求域 example.com”
使用邮差,我能够以非常友好的方式完成此操作。如果图像难以阅读,请按照以下步骤操作:
- 使用指向您要测试的 1 台服务器的地址填充 URL:
https://1.2.3.4/ - 禁用自动主机头
- 添加您自己的客户主机标头,指示证书的域(SNI)
- 发送请求,然后验证服务器是否响应,以及是否出现“地球 + 锁”图标