403 Proibido ao tentar acessar uma pasta na raiz do documento do nginx

3

Quando eu acesso index.php, funciona bem. Mas no localhost / pset7, isso dá um 403.

Aqui está o log de permissão,

-rw-r--r--. 1 root        root          51 Jul 31 14:21 index.html
-rw-r--r--. 1 root        root          51 Jul 31 14:15 index.php
drwxrwxr-x. 5 my_user my_user 4096 Jul 31 15:13 pset7

Eu preciso executá-lo no servidor, então, por favor, diga-me como definir permissões corretas e resolver esse problema.

Usando o LEMP no CentOS.

Se você precisar de outras informações / registros, basta perguntar.

Editar1, nginx config- link

Obrigado.

    
por user1502 31.07.2014 / 11:59

2 respostas

2

A razão pela qual isso está acontecendo é que o nginx não permite listar o conteúdo do diretório por padrão.

Portanto, se o nginx não puder localizar os arquivos especificados com a diretiva index em um diretório, ele retornará o código de erro 403.

Se você quiser permitir listagens de diretório, use a diretiva autoindex no bloco de configuração:

location /pset7 {
    autoindex on;
}

Você também deve mover suas diretivas root e index do bloco location / para o nível server , para que sua configuração seja assim:

server {
    listen 80;
    server_name localhost;

    root /var/www/html;
    index index.html index.htm index.php;

    location /pset7 {
        autoindex on;
    }

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

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
    
por 02.08.2014 / 04:42
1

O motivo pelo qual você está vendo isso, é que o "pset7" não é adicionado à configuração do Nginx. Tudo que você precisa fazer é adicionar o seguinte à sua configuração Nginx

    location /pset7 {
    root   /var/www/html; # Put this somewhere else, probably in the beginning of your config instead of here, if possible.
    index  index.html index.htm index.php;
}
    
por 31.07.2014 / 14:06