Я использую Ubuntu 12.04, установленный на VirtualBox (Mac) с помощью vagrant. Я не использую прокси-сервер.
В сети моей компании, когда я пытаюсь
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. То же самое и с другими инструментами, которые я использую, например. нпм, беседка
Но если я сделаю следующее:
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.