虽然我的SSL证书没有过期,并且在配置它的AWS ELB中没有任何更改,但突然通过HTTPS访问我的站点并在ERR_CONNECTION_TIMED_OUT中死机。调试时我注意到它甚至没有到达PHP脚本。
如何调试浏览器,ELB中的证书和我的服务器之间的路径,以查看它“卡住”的位置?
在Ubuntu上是否有Apache的日志,我可以查看对SSL端口的请求?
答案 0 :(得分:2)
您可以在apache中启用日志记录:
<IfModule mod_ssl.c>
ErrorLog /var/log/apache2/ssl_engine.log
LogLevel debug
</IfModule>
并使用openssl s_client来检查ssl协商如何从客户端看起来,例如:
openssl s_client -connect stackoverflow.com:443
可以使用telnet
检查基本TCP连接(与ssl无关):
第1-4层工作正常,建立连接:
$ telnet stackoverflow.com 443
Trying 104.16.35.249...
Connected to stackoverflow.com.
Escape character is '^]'.
解析主机,但无法握手:
$ telnet stackoverflow.com 443
Trying 104.16.37.249...
无法解析主机:
$ telnet stackoverflow.com 443
telnet: could not resolve stackoverflow.com/443: Name or service not known