您可以在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
基本的TCP連接(不涉及SSL)可檢查與telnet
:
層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
在運行時的OpenSSL的s_client.First -connect mydomain.com:443它只是掛起沒有任何輸出。 (運行相同的stackoverflow顯示調試信息)。這是什麼意思關於請求卡住的地方?我猜在這種情況下在.htaccess中添加ErrorLog將無濟於事,對吧? – Noam
它實際上不會無限期掛起,我終於得到一個'連接:操作超時 連接:errno = 60' – Noam
然後'telnet mydomain.com 443'確認端口是開放的,服務器監聽它。 [tcpdump](http://www.tcpdump.org/tcpdump_man.html)/ [wireshark](https://www.wireshark.org/)或任何其他嗅探器獲取有關數據包級別的詳細信息,如果握手實際發生。 –