SSL 連接作為客戶端 hello 掛起(curl、openssl 客戶端、apt-get、wget、一切)
我在我的 Debian VPS(一個 xen domU)上遇到了關於 SSL 的問題。即幾乎所有的 SSL 連接都掛在客戶端 hello 上。例如:
# curl -vI https://graph.facebook.com
- 即將 connect() 到 graph.facebook.com 埠 443 (#0)
- 正在嘗試 66.220.146.48… 已連接
- 連接到 graph.facebook.com (66.220.146.48) 埠 443 (#0)
- 成功設置證書驗證位置:
- CAfile:無 CApath:/etc/ssl/certs
- SSLv3、TLS握手、客戶端問候(一):
使用 openssl 客戶端時也是如此。但是,某些 SSL 流量有效(例如https://www.nordea.se)。
伺服器
#uname -a
Linux server.com 2.6.26-1-xen-amd64 #1 SMP Fri Mar 13 21:39:38 UTC 2009 x86_64 GNU/Linux
但是它確實適用於我的 Dom 0(主要的 xen 主機)。
apt-get
我什至無法使用 debian 安全源執行 apt-get update (掛在閱讀標題上)
打開 SSL
一開始我以為我有一個舊的 openssl 客戶端 (0.9.8o-4),因為我似乎在 Dom 0 (0.9.8g-15+lenny8) 上有一個更新的客戶端,但是對 openssl deb 進行手動更新並沒有幫助。
打開 SSL 客戶端
這是 openssl 客戶端掛起時的完整輸出:http: //pastebin.com/PAjwMap9
結束的想法
我已經用Google搜尋了這個廢話,我沒有進一步說明。我已經看到 curl、apt-get 等的問題,但它們都是特定於應用程序的 - 對於系統來說不是通用的。有什麼想法嗎?
在與我的託管服務提供商反复討論之後,結果發現他們在我的 DomU 使用的 IP 鏈(但不是 Dom0)上存在 MTU 問題。我要感謝在此過程中幫助過我的每個人,您的幫助是無價的:)
這是舊的並且已經回答了,但是我們遇到了相同的確切問題並且原因是相關的,但不同。
關鍵是在我們的邊緣路由器上嗅探流量,在那裡我們看到了發送到伺服器 (GitHub.com) 的 ICMP 消息,要求進行分段。這使連接變得混亂,包括重傳、重複的 ACK 等等。
ICMP 數據包有一個欄位,
MTU of next hop
其值為 1450。通常值為 1500。我們檢查了我們的路由器,其中一個介面(乙太網隧道)將此值作為 MTU,因此路由器將所有介面的最小 MTU 作為下一跳。一旦我們刪除了這個介面(它沒有被使用),SSH 握手又開始工作了。