Nginx 403, quando nginx.conf é configurado para servir de / websites

0

Eu criei uma pasta websites no diretório / e concedeu permissão total com sudo chmod -R 777 /websites/ .

Depois disso, fiz uma alteração em /etc/nginx/conf.d/default.conf para apontar para o diretório websites :

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /websites;
        index  index.html index.htm;
    }


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /websites/nginx/html;
    }

}

Mas estou tendo um 403 Forbidden , quando tentei navegar para ip público do servidor.

Por que isso está acontecendo? Como posso resolver isso?

Eu tenho isso no nginx error.log:

2017/08/27 20:41:03 [error] 3849#3849: *37 "/websites/index.html" is
forbidden (13: Permission denied), client: **.**.130.159, server:
localhost, request: "GET / HTTP/1.1", host: "**.**.**.120"
    
por Shilo 27.08.2017 / 19:38

1 resposta

1

O log de erros diz muito claramente:

  • Seu nginx tentaria ler /websites/index.html , mas não pode
  • É por isso que ele dá erro 403, não por causa de sua configuração.

É por causa do 13: Permission denied . É um erro do sistema. Assim, seu nginx está bem configurado, ele tenta ler esse arquivo, mas não pode.

A próxima pergunta é: por que não pode. Primeiro, você deve verificar o que faz. Sudo para o usuário, no qual o nginx está rodando (provavelmente é www-data, então o comando é: sudo -u www-data /bin/bash ), e tente ler esse arquivo para você ( cat /websites/index.html ).

O próximo passo depende de qual é o resultado.

@sebasth tem razão em seu comentário:

Possibly wrong permissions on the file/folder, or/and SELinux policy not permitting access. If you have SELinux enabled you should check audit logs (tools such as audit2why might be helpful).

Acho que os dois resultados mais prováveis:

  1. Algo não foi configurado corretamente com as permissões, apesar de seu comando chmod parecer correto
  2. Isso é uma coisa do SELinux tornando sua vida mais agradável.
por 27.08.2017 / 22:55