He configurado Nginx para admitir certificados ECC y RSA en modo híbrido.
Después de habilitarlo, utilicé el siguiente cmd para obtener el certificado de cadena completa de mi servidor:
openssl s_client -showcerts -connect server:443 -servername server-sni
Luego obtuve tres certificados, una hoja y dos certificados intermedios duplicados (debería ser solo un certificado intermedio).
No encontré ningún problema con mi configuración de nginx
#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;
Luego intenté eliminar el certificado ECC o el certificado RSA, ejecuté el comando openssl, no hay ningún certificado intermedio duplicado después de eso.
Entonces parece que el certificado intermedio duplicado solo ocurre cuando Nginx está en modo de certificado híbrido.
¿Alguna idea sobre esto?
Respuesta1
Ok, después de investigar, descubrí que todos estos problemas son causados por la versión antigua de libressl que he usado. Actualice la versión libressl a 2.9.2 y luego compile Nginx para solucionar este problema.