Ubuntu

帶有 TLS 連接錯誤的 Ubuntu SSL 連接

  • November 11, 2014

我正在使用 Ubuntu 12.04,使用 vagrant 安裝在 VirtualBox (Mac) 上。我沒有使用任何代理伺服器。

在我的公司網路中,當我嘗試

curl -1vsS https://github.com/FGRibreau/doxx/archive/master.zip

我得到以下結果:

* About to connect() to github.com port 443 (#0)                                                                                           
*   Trying 192.30.252.130... connected
* successfully set certificate verify locations:
*   CAfile: none
 CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to github.com:443
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to github.com:443

它卡在客戶你好。我使用的其他工具也是如此,例如 npm、bower

但是,如果我執行以下操作:

wget --secure-protocol=TLSv1 https://github.com/FGRibreau/doxx/archive/master.zip

我可以下載文件。這裡的主要問題是,如果我在公司網路中,我只會遇到連接問題。如果我連接到其他網路,則永遠不會出現提到的問題。(例如家庭、公共網際網路接入等)

在我通過強制使用 SSLv3 的所有連接來解決這個問題之前,只有當客戶端/伺服器決定使用 TLS 時才會出現問題。

我認為人們開始禁用 SSLv3 是因為最近的 SSL 漏洞。

在使用 TLS 進行 HTTPS 連接時,我可以做些什麼來檢查我的設置有什麼問題會導致問題?

$$ Edit $$ 如果我執行以下命令:

strace -o ./tmp.out curl -v -sS https://github.com/FGRibreau/doxx/archive/master.zip

tmp.out 太大,無法在此處粘貼,因此最後幾行是:

write(3, "\26\3\1\0\337\1\0\0\333\3\2T`E\30\3006\315\336\220I\6|\v'!8cp*\206\332"..., 228) = 228
write(2, "*", 1)                        = 1
write(2, " ", 1)                        = 1
write(2, "SSLv3, TLS handshake, Client hel"..., 40) = 40
read(3, 0x9cdf3e0, 7)                   = -1 EAGAIN (Resource temporarily unavailable)
clock_gettime(CLOCK_MONOTONIC, {10742, 580346821}) = 0
clock_gettime(CLOCK_MONOTONIC, {10742, 580375417}) = 0
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 1, 299700) = ? ERESTART_RESTARTBLOCK (To be restarted)
--- SIGINT (Interrupt) @ 0 (0) ---
+++ killed by SIGINT +++

似乎正在等待伺服器響應,但沒有得到它並退出並出現錯誤。

問題解決了,好像我正在訪問的網站正在使用 Tor,而我們的網路防火牆正在丟棄與 Tor 相關的任何內容。

只需要刪除阻止 Tor 的防火牆規則。

引用自:https://serverfault.com/questions/643172