Wenn ich curl
von der Kommandozeile aus laufe
curl "https://example.com"
Es ist sofort erfolgreich und gibt das Ergebnis der Anforderung zurück.
Wenn ich den gleichen wget-Befehl ausführe
wget https://example.com
Es tritt schließlich eine Zeitüberschreitung mit "SSL-Verbindung kann nicht hergestellt werden" auf. ohne spezifische Fehlermeldung. Es stellt eine Verbindung her, kann jedoch den SSL-Handshake nicht ausführen. Ich habe es versucht, --no-check-certificate
aber das machte keinen Unterschied - es scheint mit dem Timeout zu tun zu haben.
Jedoch:
wget http://example.com
funktioniert gut (HTTP vs HTTPS).
Dies wirkt sich auch auf den Methodenaufruf " file()
" des PHP aus .
Meine Frage ist, was würde dazu führen, dass Curl erfolgreich eine Seite abruft (für alle Websites in unserer Domain), aber nicht wget oder den PHP-Interpreter? Dies ist ein neues Problem über das Wochenende, der Server war vorher in Ordnung.
(Betriebssystem ist Red Hat Enterprise Linux 6.4)
Unable to establish SSL connection
). Die Lösung bestand darin--secure-protocol=tlsv1_2
, denwget
Befehl zu ergänzen . Vielen Dank.Auf Red Hat Enterprise Linux 6.x und vor großen Versionen,
wget
bietet keine Unterstützung für Server Name Indication , die korrekt eine wachsende Anzahl von TLS / SSL - gesicherten Websites zugreifen erforderlich ist, möglicherweise einschließlich Ihnen. Auf der anderen Seite unterstütztcurl
RHEL 6 SNI.Red Hat ist sich dieses Problems bewusst und hat einen Fix in RHEL 6.6 veröffentlicht . Das Problem wurde auch in RHEL 7.0 behoben.
quelle
Auf den ersten Blick macht dies sicherlich nicht viel Sinn. Der erste Schritt besteht darin, zu bestätigen, dass wget überhaupt für ssl funktioniert (können Sie andere ssl-Sites mit wget aufrufen?).
Wenn nicht: Verfolge es als Wget-Problem
(Beachten Sie, wenn Sie vier verschiedene SSL-Sites w wget ausprobieren und zwei davon kaputt gehen, ist dies immer noch ein Wget-Problem.)
Eine weitere Diagnose: Was macht ein Browser mit der https-URL? (Chrom und Fuchs) - geben sie Warnungen oder verbinden sie sich sauber?
quelle
wget spätestens (1.15) auf Centos 6.5
Ich musste wget 1.15 kompilieren und dann yum's wget ersetzen
quelle