![TLS 接続エラーによる SSL 接続](https://rvso.com/image/1048322/TLS%20%E6%8E%A5%E7%B6%9A%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%82%88%E3%82%8B%20SSL%20%E6%8E%A5%E7%B6%9A.png)
私は、Vagrant を使用して VirtualBox (Mac) にインストールされた Ubuntu 12.04 を使用しています。プロキシ サーバーは使用していません。
私の会社のネットワークでは、
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
Client helloで止まってしまいました。私が使用している他のツール、例えばnpm、bowerでも同じです。
しかし、次のことを行うと:
wget --secure-protocol=TLSv1 https://github.com/FGRibreau/doxx/archive/master.zip
ファイルをダウンロードすることはできます。ここでの大きな問題は、会社のネットワークにいる場合にのみ接続の問題が発生することです。他のネットワークに接続した場合は、上記の問題は発生しませんでした。(例: 自宅、公共のインターネット アクセスなど)
この問題を回避する前に、すべての接続を SSLv3 を使用して強制します。この問題は、クライアント/サーバーが TLS を使用することを決定した場合にのみ発生します。
最近の SSL の脆弱性により、人々が SSLv3 を無効にし始めているのではないかと思います。
HTTPS 接続に TLS を使用するときに問題が発生する設定のどこが間違っているかを確認するためにできることはありますか?
[編集] 次のコマンドを実行すると:
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 をブロックしているファイアウォール ルールを削除するだけです。