acceso denegado en nginx y php

Usando el servidor web nginx y php. nginx funciona, veo ‘¡Bienvenido a nginx!’ pero recibo ‘acceso denegado’ cuando bash acceder a una página php. También instalé php-fastcgi.

Aquí está mi conf predeterminado de nginx:

# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /usr/share/nginx/html; fastcgi_index index.php; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } 

security.limit_extensions = .php .php3 .php4 .php5 .html y listen = /var/run/php5-fpm.sock en cgi.fix_pathinfo = 0 y cgi.fix_pathinfo = 0 en / etc / php5 / fpm / php.ini

Reinicié nginx y php5-fpm.

Gracias por ayudar.

Haz así cuando tengas tu ubicación secundaria

 location / { try_files $uri $uri/ =404; root /path/to/your/www; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 

Estos 2 parámetros son la salsa mágica:

 fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

Por favor revise su archivo fastcgi_params y cámbielo según esta publicación https://askubuntu.com/questions/164627/nginx-php-fpm-access-denied-error

Resolví mi problema usando el método anterior.

Conozco algunos escenarios posibles cuando nginx y php no pueden acceder a los archivos:

  1. Lo más probable es que el proceso php-fpm sea ​​ejecutado por un usuario que no tiene permiso de lectura en los archivos .php correspondientes. Esto da error simple Access denied.

  2. nginx proceso nginx no tiene permisos de lectura y desplazamiento en el directorio root contiene los archivos de sitios. Esto da 403 Forbidden error 403 Forbidden .

  3. php-fpm proceso php-fpm no puede atravesar la ruta absoluta al directorio root . Esto da un error de File not found .

Como el autor menciona, ese problema aparece solo al acceder a los archivos php, diría que el primer escenario se aplica aquí.

Creo que el caso es que nginx se ejecuta como un usuario y php-fpm como otro, solo el usuario de php-fpm ha olvidado dar acceso de lectura.