403 È proibito quando si tenta di accedere a una cartella nella root del documento di nginx

Quando accedo index.php, funziona bene. Ma su localhost / pset7, dà un 403.

Ecco il registro delle autorizzazioni,

-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 

Ho bisogno di eseguirlo sul webserver quindi per favore dimmi come impostare le autorizzazioni corrette e risolvere questo problema.

Utilizzo di LEMP su CentOS.

Se hai bisogno di altre informazioni / registri, basta chiedere.

Edit1, nginx config- http://pastebin.com/K3fcWgec

Grazie.

  • Frammentazione della cache del server APC
  • Errore Nginx + php-fpm "504 Gateway Time-out" con carico quasi zero (su un server di prova)
  • Come disabilitare la stretta di mano SSL abbreviata per eseguire una stretta di mano completa di each chiamata su lighttpd?
  • Apache e più pool di PHP-FPM
  • nginx fastcgi "Script primario sconosciuto" quando si configura userdir
  • È ansible impostare PHP-FPM con diverse opzioni di pool (xdebug enabled / xdebug disabled)
  • wordpress / php-fpm si blocca quando si carica le immagini sul server
  • Il caso strano di Mr. Time To First Byte
  • 2 Solutions collect form web for “403 È proibito quando si tenta di accedere a una cartella nella root del documento di nginx”

    Il motivo per cui questo sta accadendo è che nginx non consente di elencare i contenuti della directory per impostazione predefinita.

    Quindi, se nginx non riesce a trovare i file specificati con la directory index in una directory, restituirà il codice di errore 403.

    Se si desidera consentire l'elenco delle directory, è ansible utilizzare la direttiva autoindex nel block di configuration:

     location /pset7 { autoindex on; } 

    Dovresti anche spostare le direttive root e index dalla location / block al livello di server , in modo che il tuo config sia simile:

     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; } } 

    Il motivo che stai vedendo è che il "pset7" non viene aggiunto alla configuration Nginx. Tutto quello che devi fare è aggiungere quanto segue alla configuration 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; } 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.