Ich versuche, das SSL-Zertifikat neu zu konfigurieren und das kostenlose Let’s Encrypt-Zertifikat zu deaktivieren.
Da ich ein gekauftes Zertifikat habe, habe ich über Google einige Schritte gefunden.
Ich habe app.yml direkt bearbeitet und bestätigt, dass der Schlüssel (key) und das Zertifikat (cer) im Verzeichnis /var/discourse/shared/standalone/ssl/ liegen und die Dateinamen mit der Konfigurationsdatei übereinstimmen. Beim erneuten Neuaufbau war das Ergebnis jedoch weiterhin fehlerhaft, und es wurde weiterhin das Let’s Encrypt-Zertifikat verwendet.
In den Nginx-Error-Logs tauchen folgende Meldungen auf:
2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
Ich habe bestätigt, dass die Dateien im Verzeichnis vorhanden sind:
danke für deine Antwort.
Zu den Informationen, die du bereitgestellt hast, habe ich bereits einen Referenzfall und ein Experiment durchgeführt. Das Ergebnis war jedoch fehlerhaft; der Nginx-Dienst kann die Datei nicht lesen.
Die Fehlermeldung ist wie oben beschrieben:
2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
Ich habe erfolgreich mein eigenes Zertifikat verwendet.
Ich habe weiterhin den falschen Dateinamen für die Anmeldedaten verwendet. Die Nginx-Einstellung benötigt eine .crt-Datei, aber ich habe immer wieder die .cer-Datei installiert und getestet. So habe ich das SSL-Problem gelöst.
Etwas, das in deinen ersten paar Beiträgen auffiel, war
cannot load certificate "/shared/ssl/ssl.crt"
und
Bestätige, dass die Datei im Verzeichnis vorhanden ist:
root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*
Beachte den Unterschied nach dem Teil /shared/ der Pfade. Nginx erwartete die Datei ssl.crt im Ordner shared/ssl/. Du hast sie jedoch in shared/standalone/ gefunden. Die Datei befand sich nicht im Pfad, in dem Nginx danach suchte.
@JimPas Danke für deine Antwort.
Ich habe Informationen dazu gegeben, dass die Pfade nicht übereinstimmen, weil ein Pfad ein Docker-Volume-Pfad ist und der andere der tatsächliche Pfad zu Dateien auf dem Server.
Sieht so aus, als ob sie nicht übereinstimmen, sind aber tatsächlich identisch.
Das erste Problem habe ich bereits gelöst.
Die eigentliche Ursache für mich war, dass ich das Zertifikatsformat nicht beachtet habe.
Die Konfiguration erwartet das Format crt, aber ich habe immer Dateien im Format cer verwendet, sodass Nginx die Zertifikatsdatei nicht erfolgreich lesen konnte.