Ich versuche, HTTPS für nginx unter Ubuntu 16.04 zu konfigurieren. Ich habe es bereits mit listen 443 ssl
Anweisungen eingerichtet und ihm mitgeteilt, wo sich das Zertifikat und die privaten Schlüsseldateien befinden. Danach habe ich den Server mit neu gestartet sudo service nginx restart
.
Wenn ich jetzt bin curl https://my_ip_address
, erhalte ich die folgende Nachricht:
curl: (35) gnutls_handshake() failed: Handshake failed
Ich habe die zwei Protokolldateien überprüft ich kenne, /var/log/nginx/access.log
und /var/log/nginx/error.log
; Es wird jedoch keine Spur von der Anfrage angezeigt.
Meine Frage: Wird etwas protokolliert, wenn der SSL-Handshake fehlschlägt? Wenn ja wo? Wie kann ich im Allgemeinen solche Probleme beheben, bei denen ein Fehler im SSL-Protokoll vorliegt, bevor die HTTP-Anforderung an den Server gesendet oder vom Server extrahiert wird?
EDIT: Ich habe es zum Laufen gebracht, indem ich die folgenden Zeilen aus meiner Konfiguration entfernt habe:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
Update: Die ssl_ecdh_curve secp384r1;
Leitung schien das Problem zu verursachen. Ohne das funktioniert alles gut, aber damit schlägt der SSL-Handshake fehl. Seltsamerweise lautet die Fehlermeldung, dass "keine gemeinsame Chiffre" vorhanden ist. Ich bin mir nicht sicher, was es tut, also habe ich es einfach entfernt. Ich habe auch das ssl_stapling-Zeug entfernt, weil ich nicht weiß, wofür es ist, und es hat seine eigenen Fehlermeldungen erstellt
/var/log/syslog
da Sie möglicherweise andere Probleme identifizieren, die jedoch nicht unbedingt mit diesem zusammenhängen.
warn
und ich habe es geändert alert
, aber immer noch nichts. Könnte der Fehler in openssl auftreten, bevor die Anforderung nginx erreicht?
syslog
, außer ein paar UFW-Blöcken, die nichts miteinander zu tun zu haben scheinen
debug
wäre am ausführlichsten. Damit ich erraten kann, was los ist, müsste ich die relevanten Teile der Konfiguration sehen. Andere können vielleicht ohne diagnostizieren, aber ich bin nicht ganz so erfahren.
sudo nginx -t
die relevanten Teile der Konfiguration in Ihrer Frage veröffentlichen, um weitere Hilfe zu erhalten.