Я пытаюсь установить Rust через Rustup в WSL2, но в некоторых
дистрибутивах любой запрос Curl к https://sh.rustup.rs завершается
ошибкой TLS.
Команда:
Код: Выделить всё
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Код: Выделить всё
curl: (35) Recv failure: Connection reset by peer
- Windows 11
- WSL2
- Дистрибутивы внутри WSL:
(Fedora 43)Код: Выделить всё
FedoraLinux-43 - (Arch Linux)
Код: Выделить всё
archlinux
.
[*]На другом ПК Fedora WSL2 с тем же образом работает без каких-либо
проблем.
Поведение в Fedora WSL2 (проблемный ПК)
Код: Выделить всё
curl -4 -v https://sh.rustup.rsКод: Выделить всё
* Host sh.rustup.rs:443 was resolved.
* IPv6: (none)
* IPv4: 18.165.122.120, 18.165.122.110, 18.165.122.61, 18.165.122.35
* Trying 18.165.122.120:443...
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* Recv failure: Connection reset by peer
curl: (35) Recv failure: Connection reset by peer
Код: Выделить всё
Network is unreachableКод: Выделить всё
curl -6 -v https://sh.rustup.rs
...
Immediate connect fail ... Network is unreachable
Код: Выделить всё
curl -v --http1.1 --proto '=https' --tlsv1.2 https://sh.rustup.rs
Код: Выделить всё
TLSv1.3 (OUT), TLS handshake
Recv failure: Connection reset by peer
На чистом, только что установленном образе Arch выполните команду:
Код: Выделить всё
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Однако после обновления Arch:
Код: Выделить всё
sudo pacman -Syu
Код: Выделить всё
curl: (35) Recv failure: Connection reset by peer
- Arch WSL2 до обновлений → работает\
- Arch WSL2 после обновлений → тот же сбой, что и в Fedora\
- IPv6 одинаково недоступен в обоих случаях (ожидается в WSL2)
- Протестировал различные флаги скручивания:
, -6Код: Выделить всё
-4 Код: Выделить всё
--http1.1Код: Выделить всё
--proto '=https'- , --tls-max 1.2
Код: Выделить всё
--tlsv1.2
нормально.
[*]Проверено, что чистый Arch WSL2 работает перед обновлениями.
[*]После обновлений Fedora и Arch ведут себя одинаково (подтверждение TLS
сброс).
[*]На другом ПК Fedora WSL2 работает без проблем.
[*]Проблема возникает только при:
Код: Выделить всё
https://sh.rustup.rs- и реестр пакетов Rust ().
Код: Выделить всё
https://crates.io, https://index.crates.io
Вопросы
- Почему Fedora WSL2 и обновленный Arch WSL2 на этом конкретном компьютере
завершаются с ошибкой Recv: сброс соединения по одноранговому узлу, в то время как чистый Arch
работает, а другой компьютер работает нормально? - Может ли это быть вызвано обновлением Curl/OpenSSL и измененным TLS
рукопожатием (TLS 1.3, криптополитиками и т. д.) при взаимодействии с сетью или конфигурацией безопасности этого
компьютера? - Как можно устранить эту проблему и какова основная причина?
Подробнее здесь: https://stackoverflow.com/questions/798 ... connection
Мобильная версия