Ich habe Nginx so konfiguriert, dass sowohl ECC- als auch RSA-Zertifikate im Hybridmodus unterstützt werden.
Nach der Aktivierung habe ich den folgenden Befehl verwendet, um das vollständige Kettenzertifikat von meinem Server abzurufen:
openssl s_client -showcerts -connect server:443 -servername server-sni
Dann habe ich drei Zertifikate, ein Leaf-Zertifikat und zwei doppelte Zwischenzertifikate (es sollte nur ein Zwischenzertifikat sein).
Ich habe kein Problem mit meiner Nginx-Konfiguration gefunden
#rsa
ssl_certificate /path/server_rsa-cert.pem;
ssl_certificate_key /path/server_rsa-key.pem;
# ecc
ssl_certificate /path/server_ecc-cert.pem;
ssl_certificate_key /path/server_ecc-key.pem;
Dann habe ich versucht, das ECC-Zertifikat oder das RSA-Zertifikat zu entfernen und habe den OpenSSL-Befehl ausgeführt. Danach gibt es kein doppeltes Zwischenzertifikat mehr.
Daher scheint es, dass doppelte Zwischenzertifikate nur auftreten, wenn sich Nginx im Hybrid-Zertifikatsmodus befindet.
Irgendeine Idee dazu?
Antwort1
Ok, nachdem ich herumgestöbert habe, bin ich zu dem Schluss gekommen, dass all diese Probleme durch die alte Libressl-Version verursacht werden, die ich verwendet habe. Ein Upgrade der Libressl-Version auf 2.9.2 und anschließendes Kompilieren von Nginx hat dieses Problem behoben.