2016-04-18 16 views
2

Ich habe eine triviale NGINX-Proxy-Konfiguration (unten), die mein neues SSL-Zertifikat verwendet (das erste Mal, dass ich das versuche).Docker + NGINX + SSL

Ich habe dies über Docker entfaltet, um das Standardbild "nginx" zu erweitern. Ich bin mir ziemlich sicher, dass meine InstantSSL-Datei gültig ist, aber der Server gibt keine gültige SSL-Verbindung zurück.

ich die folgende Fehlermeldung erhalten:

$ openssl s_client -connect MY_DOMAIN.com:443 
CONNECTED(00000003) 
22489:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake 

ich andere Werkzeuge zu ausprobiert habe:

$ ./cipherscan -v https://MY_DOMAIN.com 
handshake failed, no ciphersuite was returned 

Und schließlich https://www.ssllabs.com/ssltest/analyze.html returns "Keine sichere Protokolle unterstützt"

I habe verschiedene Kombinationen aus ssl_protocols und ssl_cipher se probiert Ttings, aber die Nginx-Dokumente sagen, die Standardeinstellungen sollten in Ordnung sein.

NGINX funktioniert gut auf Port 80 (d. H. Mit meiner standardmäßigen virtuellen Host-Einstellung, die auf 80 hört), so scheint die allgemeine Servereinrichtung in Ordnung zu sein.

Wer hat noch etwas, was ich ausprobieren kann?

server { 
    listen 443 ssl; 

    server_name MY_DOMAIN.com; 

    ssl on; 
    ssl_certificate  /etc/ssl/ssl-bundle.crt; 
    ssl_certificate_key /etc/ssl/MY_DOMAIN.key; 

    ssl_prefer_server_ciphers on; 

    ssl_stapling on; 
    ssl_stapling_verify on; 

    location/{ 
     proxy_pass http://frontend; 

     proxy_redirect http:// https://; 

     proxy_http_version 1.1; 
     proxy_set_header Host $host; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_cache_bypass $http_upgrade; 
    } 
    } 

Antwort

0

Benutzer-Fehler:

I 443 in meinem Dockerfile ausgesetzt hatten, aber nicht in meiner Docker Wolke stackfile (so der gehostete Container Hafen wurde gesperrt).

Ich habe das herausgefunden, indem ich nginx lokal getestet habe (Hinzufügen eines/etc/hosts-Eintrags zu "fake" meinem Prod-Server) und es hat korrekt funktioniert (außerhalb von docker).

Verwandte Themen