Mamy skrypt, który pobiera zabezpieczenia mod z github, który niedawno zaczął się nie powieść. Na serwerach działa CentOS 6, ale RHEL 6 prawdopodobnie ma ten sam problem. Dane wyjściowe to:
# wget https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
--2014-07-22 18:49:46-- https://github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Resolving github.com... 192.30.252.129
Connecting to github.com|192.30.252.129|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz [following]
--2014-07-22 18:49:47-- https://cloud.github.com/downloads/SpiderLabs/ModSecurity/modsecurity-apache_2.7.1.tar.gz
Resolving cloud.github.com... 54.230.99.219, 205.251.219.190, 54.230.97.212, ...
Connecting to cloud.github.com|54.230.99.219|:443... connected.
OpenSSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Unable to establish SSL connection.
Wszelkie pomysły, jak to naprawić lub obejść?
curl
Odpowiedzi:
Jeśli się nie mylę, masz na myśli to repozytorium . Postaraj się, aby formularz URL prasowe .
Ta sprawa działa dla mnie:
PS Mam również ten sam komunikat o błędzie podczas próby uruchomienia sprawy;
źródło
Możesz użyć
curl
polecenia, aby go pobrać:źródło
curl -L -O
jest lepszym zamiennikiemwget
, ponieważ następuje przekierowanie HTTP (szczególnie przydatne tutaj, ponieważ Github chce wskazać mi swój CDN).curl
obsługuje SNI, awget
nie obsługuje , więc dla niektórych stronwget
czasami certyfikat będzie dostarczany do niewłaściwego hosta i otrzyma błąd certyfikatu, nawet jeślicurl
działa dobrze.Po stronie serwera wyłączono uzgadnianie szyfrowania SSLv3 z powodu poważnych problemów związanych z bezpieczeństwem SSLv3. Co więcej, twój klient wget jest przestarzałą wersją i nadal domyślnie używa tego szyfrowania SSLv3. Masz 2 opcje:
wget --secure-protocol=TLSv1
źródło
Powinieneś sprawdzić swoją wersję wget.
Miałem ten sam problem ze starszymi wersjami
wget
(<1.15).źródło
Jeśli chodzi o obejście, jeśli ufasz hostowi, spróbuj podać
--no-check-certificate
lub dodać:do twojego
~/.wgetrc
(niezalecane).W niektórych rzadkich przypadkach jest to spowodowane czasem systemowym, który może być niezsynchronizowany, a tym samym unieważniać certyfikaty, które wcześniej działały.
źródło
Spróbuj tego:
źródło