Wenn Sie den Apstra-Server zum ersten Mal starten, wird automatisch ein eindeutiges selbstsigniertes Zertifikat generiert und auf dem Apstra-Server gespeichert unter /etc/aos/nginx.conf.d
(nginx.crt
ist der öffentliche Schlüssel für den Webserver und nginx.key
ist der private Schlüssel.) Das Zertifikat wird für die Verschlüsselung des Apstra-Servers und der REST-API verwendet. Es ist nicht für interne Geräte-Server-Konnektivität geeignet. Da das HTTPS-Zertifikat beim Sichern des Systems nicht aufbewahrt wird, müssen Sie den etc/aos
Ordner manuell sichern. Wir empfehlen, das Standard-SSL-Zertifikat zu ersetzen. Die Verwaltung von Webserverzertifikaten liegt in der Verantwortung des Endbenutzers. Der Support von Juniper ist nur die beste Anstrengung.
- Sichern Sie die vorhandenen OpenSSL-Schlüssel.
admin@aos-server:/$ sudo -s
[sudo] password for admin:
root@aos-server:/# cd /etc/aos/nginx.conf.d
root@aos-server:/etc/aos/nginx.conf.d# cp nginx.crt nginx.crt.old
root@aos-server:/etc/aos/nginx.conf.d# cp nginx.key nginx.key.old
- Erstellen Sie einen neuen privaten OpenSSL-Schlüssel mit dem integrierten befehl openssl.
root@aos-server:/etc/aos/nginx.conf.d# openssl genrsa -out nginx.key 2048
Generating RSA private key, 2048 bit long modulus
.............+++
......+++
e is 65537 (0x10001)
VORSICHT:
Ändern Sie keine nginx.crt
Dateinamen. nginx.key
Sie werden in nginx.conf
. Im Rahmen späterer Service-Upgrades konnten diese Dateien ersetzt werden, sodass die Dateinamen vorhersehbar sein müssen.
Ändern Sie auch nicht die Konfiguration in nginx.conf
, da diese Datei während eines Upgrades des Apstra-Servers ersetzt werden kann und alle von Ihnen vorgenommenen Änderungen verworfen werden.
- Erstellen Sie eine Zertifikatssignaturanforderung. Wenn Sie ein signiertes SSL-Zertifikat mit einem subjektiven alternativen Namen (SAN) für Ihren HTTPS-Dienst des Apstra-Servers erstellen möchten, müssen Sie manuell eine OpenSSL-Vorlage erstellen. Weitere Informationen finden Sie in der Juniper Support Knowledge Base im Artikel KB37299.
VORSICHT:
Wenn Sie benutzerdefinierte OpenSSL-Konfigurationsdateien für erweiterte Zertifikatsanforderungen erstellt haben, belassen Sie diese nicht im Nginx-Konfigurationsordner. Beim Start versucht Nginx, sie (*.conf) zu laden, was zu einem Serviceausfall führt.
root@aos-server:/etc/aos/nginx.conf.d# openssl req -new -sha256 -key nginx.key -out nginx.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:California
Locality Name (eg, city) []:Menlo Park
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Apstra, Inc
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:aos-server.apstra.com
Email Address []:support@apstra.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- Senden Sie Ihre Certificate Signing Request (nginx.csr) an Ihre Zertifizierungsstelle. Die erforderlichen Schritte sind außerhalb des Anwendungsbereichs dieses Dokuments; Ca-Anweisungen unterscheiden sich von Implementierung zu Implementierung. Jedes gültige SSL-Zertifikat funktioniert. Das folgende Beispiel dient der Selbstsignierung des Zertifikats.
root@aos-server:/etc/aos/nginx.conf.d# openssl req -x509 -sha256 -days 3650 -key nginx.key -in nginx.csr -out nginx.crt
root@aos-server:/etc/aos/nginx.conf.d#
- Stellen Sie sicher, dass die SSL-Zertifikate übereinstimmen: privater Schlüssel, öffentlicher Schlüssel und CSR.
root@aos-server:/etc/aos/nginx.conf.d# openssl rsa -noout -modulus -in nginx.key | openssl md5
(stdin)= 60ac4532a708c98d70fee0dbcaab1e75
root@aos-server:/etc/aos/nginx.conf.d# openssl req -noout -modulus -in nginx.csr | openssl md5
(stdin)= 60ac4532a708c98d70fee0dbcaab1e75
root@aos-server:/etc/aos/nginx.conf.d# openssl x509 -noout -modulus -in nginx.crt | openssl md5
(stdin)= 60ac4532a708c98d70fee0dbcaab1e75
- Um das neue Zertifikat zu laden, starten Sie den nginx-Container neu.
root@aos-server:/etc/aos/nginx.conf.d# docker restart aos_nginx_1
aos_nginx_1
root@aos-server:/etc/aos/nginx.conf.d
- Bestätigen Sie, dass sich das neue Zertifikat in Ihrem Webbrowser befindet und der neue gemeinsame Zertifikatname mit "aos-server.apstra.com" übereinstimmt.