ver tienes solucionar significa que página para google forbidden esta error como chrome celular autorización nginx uwsgi

tienes - Nginx sirve archivo estático y tiene 403 prohibido



error 403 youtube (4)

Solo quiero ayudar a alguien. sí, solo quieres servir un archivo estático usando nginx, y tienes todo bien en nginx.conf :

location /static { autoindex on; #root /root/downloads/boxes/; alias /root/downloads/boxes/; }

Pero, al final, fallaste. Tienes "403 prohibido" del navegador ...

---------------------------------------- La respuesta a continuación: ------ ----------------------------------

La solución es muy simple:

Forma 1: ejecute nginx como el usuario como el propietario ''/ root / downloads / boxes /''

En nginx.conf :

#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice;

SÍ, en la primera línea " #user noboy; ", simplemente elimine " # " y cambie " nobody " a su nombre de usuario en Linux / OS X, es decir, cambie a " root " para la prueba. El reinicio nginx.

Atención , ¡mejor no ejecutes nginx como root ! Aquí solo para probar, es peligroso para el Hacker.

Para obtener más información, consulte nginx (motor X) - ¡Qué dolor en el BUM! [13: Permiso denegado]

Modo 2: cambiar el propietario ''/ root / downloads / boxes /'' a ''www-data'' o ''nobody''

En la Terminal :

ps aux | grep nginx

Obtenga el nombre de usuario de ejecutar nginx. Debe ser ''www-data'' o ''nobody'' determinado por la versión de nginx. Luego presione en Terminal (use ''www-data'' por ejemplo):

chown -R www-data:www-data /root/downloads/boxes/

------------------------------ Una cosa más importante es: -------------- ----------------

Estos directorios principales "/" , "/ root" , "/ root / downloads" deberían otorgar el permiso execute (x) a ''www-data'' o ''nobody'' . es decir

ls -al /root chmod o+x /root chmod o+x /root/downloads

Para obtener más información, consulte Resolver el error "403 Prohibido" y Nginx 403 prohibido para todos los archivos


Como Nginx maneja los archivos estáticos directamente, necesita acceder a los directorios apropiados. Necesitamos otorgarle permisos ejecutables para nuestro directorio de inicio.

La forma más segura de hacerlo es agregar el usuario de Nginx a nuestro propio grupo de usuarios. A continuación, podemos agregar el permiso ejecutable a los propietarios del grupo de nuestro directorio principal, lo que brinda el acceso suficiente para que Nginx sirva los archivos:

sudo usermod -a -G your_user nginx

chmod 710 / home / your_user


Debes otorgar permisos nginx para leer el archivo. Eso significa que debe darle al usuario que ejecuta los permisos del proceso nginx para leer el archivo.

Este usuario que ejecuta el proceso nginx es configurable con la directiva de user en la configuración de nginx, generalmente ubicada en algún lugar en la parte superior de nginx.conf :

user www-data

http://wiki.nginx.org/CoreModule#user

El segundo argumento que le da al user es el grupo, pero si no lo especifica, usa el mismo que el usuario, por lo tanto, en mi ejemplo, el usuario y el grupo son www-data .

Ahora los archivos que desea servir con nginx deben tener los permisos correctos. Nginx debe tener permisos para leer los archivos. Puede otorgar al grupo permisos de lectura de www-data en un archivo como este:

chown :www-data my-file.html

http://linux.die.net/man/1/chown

con chown puede cambiar el usuario y el propietario del grupo de un archivo. En este comando solo cambio el grupo, si también cambiaras el usuario, especificarías el nombre de usuario ANTES de los dos puntos, como chown www-data:www-data my-file.html . Pero establecer los permisos de grupo correctos debería ser suficiente para que nginx pueda leer el archivo.


Después de buscar respuestas muy útiles, decidimos recopilar todo lo relacionado con los permisos como una receta. Específicamente, la solución más simple con la máxima seguridad (= permisos mínimos).

  1. Supongamos que implementamos el sitio como admin usuario, es decir, ella posee el directorio del sitio y todo lo que contiene. No queremos ejecutar nginx como este usuario (demasiados permisos). Está bien para probar, no para prod.
  2. De forma predeterminada, Nginx ejecuta los trabajadores como un usuario nginx , es decir, la configuración contiene el user nginx línea user nginx
  3. Por defecto, el usuario nginx está en el grupo con el mismo nombre: nginx .
  4. Queremos otorgar permisos mínimos al usuario nginx sin cambiar la propiedad del archivo. Esta parece ser la opción ingenua más segura.
  5. Para poder servir archivos estáticos, los permisos mínimos requeridos en la jerarquía de carpetas (vea los permisos del grupo) deberían ser así (use el comando namei -l /home/admin/WebProject/site/static/hmenu.css ):

    raíz de raíz dr-xr-xr-x /
    drwxr-xr-x root root home
    drwxr-x --- admin nginx admin
    drwx - x --- admin nginx WebProject
    drwx - x --- sitio admin nginx
    drwx - x --- admin nginx estático
    -rwxr ----- admin nginx hmenu.css

  6. A continuación, ¿cómo obtener esta hermosa imagen? Para cambiar la propiedad del grupo para los directorios, primero aplicamos sudo chown :nginx /home/admin/WebProject/site/static y luego repetimos el comando stripping dirs del derecho uno a uno.

  7. Para cambiar los permisos de los directorios, aplicamos sudo chmod g+x /home/admin/WebProject/site/static y sudo chmod g+x /home/admin/WebProject/site/static .

  8. Grupo de cambios para los archivos en el directorio / static: sudo chown -R :nginx /home/admin/WebProject/site/static

  9. Por último, cambie los permisos para los archivos en el directorio / static: sudo chmod g+r /home/admin/WebProject/site/static/*

(Por supuesto, uno puede crear un grupo dedicado y cambiar el nombre de usuario, pero esto oscurecería la narración con detalles sin importancia).


por respuesta aceptada

sudo chown -R :www-data static_folder

para cambiar el propietario del grupo de todos los archivos en esa carpeta