Eu tive um problema ao configurar o nginx e me deparei com essa pergunta. A outra resposta aqui já respondeu diretamente a pergunta, mas eu pensei que um pouco mais de informação seria útil.
Normalmente, o nginx é iniciado como o usuário root
por scripts init / systemd. No entanto, o nginx também tem a capacidade de mudar para um usuário com menos privilégios para operações normais. Então, minha pergunta foi qual usuário é usado para carregar o certificado / chave SSL? O usuário privilegiado inicial ou aquele que é comutado para?
Felizmente, o nginx usa as permissões iniciais para ler o certificado e inserir a chave na memória antes de alternar usuários. Então, normalmente, você pode deixar as chaves com permissões muito restritas, pois elas são carregadas pelo nginx quando ainda estão sendo executadas como root
.
O problema que eu estava encontrando aqui foi que eu estava definindo ssl_certificate
apenas em meus server
blocks em nginx.conf
. Eu estava recebendo erros como [error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
quando sabia muito bem que minhas chaves estavam no lugar certo. O problema foi que eu não tinha um ssl_certificate
no nível http
de nginx.conf
.
Espero que isso seja útil para alguém.