![SSL 連線出現 TLS 連線錯誤](https://rvso.com/image/1048322/SSL%20%E9%80%A3%E7%B7%9A%E5%87%BA%E7%8F%BE%20TLS%20%E9%80%A3%E7%B7%9A%E9%8C%AF%E8%AA%A4.png)
我使用的是 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 連線時出現問題?
[編輯]如果我執行以下命令:
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 +++
似乎正在等待伺服器響應,但沒有得到它並因錯誤而退出。
答案1
問題已解決,似乎我正在訪問的網站正在使用 Tor,而我們的網路防火牆正在丟棄與 Tor 相關的任何內容。
只需刪除阻止 Tor 的防火牆規則即可。