Configurei o Nginx para oferecer suporte a certificados ECC e RSA em modo híbrido.
Após a ativação, usei o cmd abaixo para obter o certificado da cadeia completa do meu servidor:
openssl s_client -showcerts -connect server:443 -servername server-sni
Então obtive três certificados, uma folha, dois certificados intermediários duplicados (deve ser apenas um certificado intermediário).
Não encontrei nenhum problema com minha configuração do 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;
Então tentei remover o certificado ECC ou RSA, executei o comando openssl, não há certificado intermediário duplicado depois disso.
Portanto, parece que o certificado intermediário duplicado só acontece quando o Nginx está em modo de certificado híbrido.
Alguma ideia sobre isso?
Responder1
Ok, depois de pesquisar, descobri que todos esses problemas são causados pela versão antiga do libressl que usei. Atualize a versão do libressl para 2.9.2 e, em seguida, compile o Nginx corrigindo esse problema.