Nginx php7.4 autorización denegada

He apilado con permiso denegado en mi sitio de php. He probado mucha configuración diferente pero sin suerte. Estoy usando nginx 1.16, php 7.4 centos . Ahora mismo tengo deshabilitación SELinux y configuración de descanso:

Nginx funciona con el usuario nginx.

Las carpetas de permisos del sitio tienen 775 permisos y archivos 664. Para ambos dueños es mi usuario y mi grupo es nginx.

Php-fpm : usuario: myuser, grupo: nginx, propietario: nginx, propietario: nginx, modo : 0660

Estoy tratando de acceder a una prueba simple. archivo php que se hace eco de "hola".

Mi navegador muestra una pantalla blanca con error 404 y los archivos de registro muestran el permiso negado.

UPDATE

He probado con una página de prueba.html y todavía me han negado permiso así que supongo que no es algo con php pero algo con nginx.

A continuación se incluyen extractos de acceso y error. log accordingly:

Registro de acceso extracto:

176.92.20.33 - - [17/Dec/2020:06:56:32 +0200] "GET /test.html HTTP/1.1" 404 153 "-" "Mozilla/5.0 (Android 10; Mobile; rv:84.0) Gecko/84.0 Firefox/84.0" "-"

Error Registro de error:

2020/12/17 06:56:32 [crit] 1152#0: *3 stat() "/home/xxxx/www/test.html" failed (13: Permission denied), client: 176.92.20.33, server: acropolismuseumkids.gr, request: "GET /test.html HTTP/1.1", host: "xxxxx"
2020/12/17 06:56:32 [crit] 1152#0: *3 stat() "/home/xxxxx/www/index.php" failed (13: Permission denied), client: 176.92.20.33, server: xxxxxx, request: "GET /test.html HTTP/1.1", host: "xxxxx"
2020/12/17 06:56:32 [crit] 1152#0: *3 stat() "/home/xxxxx/www/404.html" failed (13: Permission denied), client: 176.92.20.33, server: xxxxxx, request: "GET /test.html HTTP/1.1", host: "xxxxx"
2020/12/17 06:56:32 [crit] 1152#0: *3 stat() "/home/xxxxx/www/404.html" failed (13: Permission denied), client: 176.92.20.33, server: xxxxx, request: "GET /test.html HTTP/1.1", host: "xxxxxx"
2020/12/17 06:56:32 [crit] 1152#0: *3 stat() "/home/xxxxx/www/index.php" failed (13: Permission denied), client: 176.92.20.33, server: xxxxx, request: "GET /test.html HTTP/1.1", host: "xxxxx"

Cualquier ayuda es apreciada.

Pregunta hecha hace 3 años, 4 meses, 29 días - Por byteninja8245


3 Respuestas:

  • Bueno. Parece que cometí un terrible error. He perdido el gateway cgi en los archivos de configuración nginx y php-fpm. Estos dos deberían ser los mismos.

    Respondida el Dec 16, 2020 a las 20:48 - por syntaxsavvy

    Votos positivos: 0 | Votos negativos: 0

  • Por lo que puedo ver en tu configuración y en los registros de error, el problema de autorización denegada parece estar relacionado con los permisos de acceso a los archivos por parte del usuario con el que se ejecuta el servidor web (en este caso nginx). Aquí tienes algunas posibles soluciones que podrías probar:

    • Verifica los permisos de las carpetas padre: Asegúrate de que todos los directorios padre de la ubicación del archivo al que intentas acceder tengan permisos de lectura y ejecución para el usuario nginx. Puedes hacer esto con el comando `ls -la` en la terminal.
    • Verifica los contextos de SELinux: Aunque mencionaste que SELinux está deshabilitado, es posible que esté causando problemas. Puedes verificar si SELinux está activo ejecutando el comando `sestatus`. Si SELinux está activo, es posible que necesites ajustar los contextos de SELinux de los archivos y directorios con el comando `chcon`.
    • Asegúrate de que el usuario de nginx tenga permisos de acceso a los archivos: Aunque mencionas que los permisos de las carpetas y archivos están configurados correctamente, verifica que el usuario nginx tenga permisos de lectura en los archivos a los que intenta acceder.
    • Reinicia los servicios: Después de realizar cambios en la configuración o los permisos, asegúrate de reiniciar tanto nginx como php-fpm para que los cambios surtan efecto.
    • Verifica la configuración de nginx: Revisa los archivos de configuración de nginx para asegurarte de que no haya restricciones de acceso o configuraciones incorrectas que puedan estar causando el error de permiso denegado.

    Espero que alguna de estas soluciones te ayude a resolver el problema de autorización denegada que estás experimentando. ¡Buena suerte!

    Respondida el Dec 17, 2020 a las 20:46 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Solución:

    El error "permiso denegado" indica que el servidor web Nginx no tiene permisos suficientes para acceder a los archivos PHP. Esto puede deberse a varias razones:

    1. Permisología del directorio principal de PHP:

    Verifica que el directorio principal que contiene los archivos PHP tenga los permisos adecuados. Debe ser propiedad del usuario web (generalmente www-data o nginx) y tener permisos de escritura.

    2. Permisología de los archivos PHP:

    Los archivos PHP individuales también deben tener los permisos adecuados. Deben ser propiedad del usuario web y tener permisos de ejecución (chmod 755).

    3. Configuración de SELinux:

    Si SELinux está habilitado en tu sistema, puede estar restringiendo el acceso a los archivos PHP. Deshabilita temporalmente SELinux (o establece el contexto SELinux correcto) y verifica si el problema persiste.

    4. Configuración de Nginx:

    En el archivo de configuración de Nginx, asegúrate de que el usuario y el grupo que se utilizan para ejecutar Nginx tengan acceso a los archivos PHP. Por ejemplo:

    
    user www-data;
    group www-data;
    

    5. Configuración de PHP-FPM:

    Si estás utilizando PHP-FPM para manejar las solicitudes de PHP, verifica que esté configurado correctamente. El usuario y el grupo que se utilizan para ejecutar PHP-FPM también deben tener acceso a los archivos PHP.

    Pasos adicionales:

    Reinicia Nginx y PHP-FPM después de realizar cualquier cambio de configuración. Verifica el registro de errores de Nginx (/var/log/nginx/error.log) y PHP-FPM (/var/log/php-fpm.log) para obtener más información sobre el error. Considera utilizar un escáner de seguridad para verificar si hay vulnerabilidades de configuración que puedan causar problemas de permisos.

    Respondida el Dec 17, 2020 a las 20:50 - por Gemini

    Votos positivos: 0 | Votos negativos: 0