wake-up-neo.com

Probleme beim Ersetzen des alten SSL-Zertifikats unter Nginx

Haftungsausschluss: Dies ist mein erster ProWebmasters-Beitrag. Ich dachte, dies wäre ein geeigneter Ort für diese Frage, aber wenn dies nicht der Fall ist, entferne ich sie gerne.


Wir verwenden SSL For Free für unsere Geschäftsseite. Wir haben das Original-Zertifikat vor 95 Tagen erhalten und es ist vor 5 Tagen abgelaufen. Ich habe Probleme beim Ersetzen des abgelaufenen Zertifikats.

Der Nginx-Server wird alle 24 Stunden neu erstellt und aus dem Master-Zweig in meinem Git Lab-Repository abgerufen. Die Instanz VM wird zerstört und durch eine neue Instanz mit einem Startskript ersetzt, das Nginx anhand des Inhalts des Git-Repositorys zusammenstellt und konfiguriert, einschließlich der SSL-Zertifikate.

Als ich das Zertifikat aktualisiert und das Stammzertifikat sowie das Zwischenpaket und den privaten Schlüssel heruntergeladen habe, habe ich einfach die alten Zertifikate im Repository ersetzt und die Webserver neu erstellt.

Aus irgendeinem Grund verwendet die Website die abgelaufenen Zertifikatstage nach dem Ersetzen immer noch.

Das ist sehr seltsam für mich, weil der Webserver keine Spur des alten Zertifikats haben sollte , da sie aus einem leeren Ubuntu-Image und dann neu erstellt werden Holen Sie sich die neuesten Inhalte von Git.

Ich habe openssl x509 -in certificate.crt -text -noout für die Zertifikate ausgeführt, die sich in /var/www/ssl/ befinden, und habe bestätigt, dass es sich tatsächlich um die neuen Zertifikate handelt.

Dies ist die Nginx-Serverkonfiguration:

server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    server_name foobar.com www.foobar.com;

    ssl_certificate /var/www/ssl/chained.crt;
    ssl_certificate_key /var/www/ssl/private.key;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-EC$

    ssl_prefer_server_ciphers on;

    ssl_dhparam /var/www/ssl/dhparams.pem;

    root /var/www/html;

    location / {
        if ($http_x_forwarded_proto = "http") {
            return 301 https://$Host$request_uri;
        }
        if ($request_uri ~ ^/(.*)\.html$) {
            return 301 /$1;
        }
        try_files $uri $uri.html $uri/ /404;
    }
}

Irgendwelche Ideen, was dies verursachen könnte? Vielen Dank!

(Ich habe bereits versucht, meinen Chrome SSL-Cache zu löschen.)

(SSLLabs zeigt, dass die Site immer noch das alte Zertifikat verwendet, aber dass außer dem abgelaufenen Zertifikat nichts anderes daran falsch ist.)

2
willbattel

Ich habe ein bisschen mehr gegraben und wie erwartet lag das Problem nicht am Nginx-Server oder an der VM, auf der es gehostet wird. Ich habe es versäumt, das von unserem HTTP Load Balancer verwendete Zertifikat zu aktualisieren. Obwohl die Server das neue Zertifikat verwendeten, verfügte der Forwarder immer noch über das alte Zertifikat, das die Warnungen verursachte.

1
willbattel