Nginx no Ubuntu não tem acesso a um certificado SSL

1

Eu gerou um certificado no Ubuntu 16 e estou tentando executar o nginx e obter isso:

$ nginx -t

nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: [emerg] BIO_new_file("/etc/letsencrypt/live/my_website.com/fullchain.pem") failed (SSL: error:0200100D:system library:fopen:Permission denied:fopen('/etc/letsencrypt/live/my_website.com/fullchain.pem','r') error:2006D002:BIO routines:BIO_new_file:system lib)
nginx: configuration file /etc/nginx/nginx.conf test failed

Esse certificado tem as permissões padrão lrwxrwxrwx 1 root root . Mas por que não é acessível para o nginx? Claro, eu posso fazer chmod 755 mas seria a coisa certa a fazer?

Após o reinício, o nginx está funcionando e o meu site também, mas nginx -t ainda retorna os mesmos erros.

    
por Johshi 23.08.2016 / 16:55

2 respostas

0

Você parece estar executando nginx -t como um usuário sem privilégios.

Para testar sua configuração do nginx, tente:

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

ou, se sudo estiver indisponível:

$ su -
Password:
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
    
por 23.08.2016 / 22:19
0

Ele deve ser acessível por meio do usuário ou grupo do nginx, como www-data. Significa usuário que iniciou o nginx.

Tente:

# setfacl -R -m u:www-data:rx /etc/letsencrypt/
    
por 23.08.2016 / 17:15