Wie konfiguriere ich MongoDB korrekt für die Verwendung von Letsencrypt SSL unter Ubuntu?
Ich habe mit Letsencrypt ein SSL-Zertifikat erstellt und es kombiniert über:
cat /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/ssl/mongo.pem
Und Setup Mongo Konfiguration wie:
net:
port: 27017
bindIp: 0.0.0.0
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongo.pem
Beim Versuch, Mongo zu starten, wird folgende Fehlermeldung angezeigt:
No SSL certificate validation can be performed since no CA file has been provided; please specify an sslCAFile parameter
Wie stelle ich die CAFile richtig ein? Verwendet Ubuntu normalerweise keinen "CA-Pfad" mit einer Reihe verschiedener Root-Zertifikate in den eigenen Dateien? Ich habe versucht, das CURL CA-Bundle zu verwenden, aber das hat auch nicht funktioniert.
Ich benutze Mongo v3.0.12 und Ubuntu 14.04
Antworten:
Sie kombinieren die falschen PEM-Dateien. Sie müssen sich kombinieren
privkey.pem
mitcert.pem
.Für die CAFile müssen Sie IdenTrust DST Root CA X3 von https://www.identrust.com/certificates/trustid/root-download-x3.html herunterladen
Fügen Sie das Zertifikat der Website hinzu, fügen Sie ----- BEGIN CERTIFICATE ----- und ----- END CERTIFICATE ----- hinzu und stellen Sie sicher, dass Sie mit einer neuen Zeile enden, in der die Datei gespeichert wird:
Konvertieren Sie dann die CRT-Datei in ein PEM mit:
Und kombinieren Sie mit
chain.pem
von Let's Encrypt zu einer einzigen Dateica.pem
Um die CAFile festzulegen, gehen Sie wie folgt vor:
Starten Sie MongoDB neu:
Vergessen Sie nicht den Moment, in dem Sie die Let's Encrypt-Zertifikate erneuern . Sie müssen auch
mongo.pem
und erneuernca.pem
.quelle
Die CA-Datei, die Sie benötigen, erhalten Sie bei Letsencrypt. Suchen Sie hier nach einem der Zwischenzertifikate:
https://letsencrypt.org/certificates/
Geben Sie dann den Pfad zu diesem Zertifikat mit der Option SSL CAFile an .
quelle