Nginx servir des fichiers statiques et a obtenu 403 forbidden

Veux juste aider quelqu'un. oui ,vous voulez juste pour servir les fichiers statiques à l'aide de nginx, et vous avez tout droit dans nginx.conf:

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

Mais , en fin de compte , vous avez échoué. Vous avez "403 forbidden" à partir du navigateur...

----------------------------------------La Réponse Ci-Dessous:----------------------------------------

La Solution est très Simple:


Voie 1 : Exécution de nginx en tant que l'utilisateur en tant que '/root/téléchargements/boîtes/' propriétaire

Dans nginx.conf :

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;

OUI, dans la première ligne "#utilisateur noboy;" , il suffit de supprimer "#" , et le changement "personne ne" à votre propre nom d'utilisateur de Linux/OS X, j'.e changement de "racine" pour le test. Le redémarrage de nginx.

Attention , Vous feriez mieux de ne pas exécuter nginx comme racine! Ici juste pour le test, c'est dangereux pour le Hacker.

Pour plus d'information , voir nginx (moteur X) – Ce une Douleur dans le CUL! [13: Permission denied]


Chemin 2 : Modifier '/root/téléchargements/boîtes/' propriétaire 'www-data' ou 'personne'

Dans Terminal:

ps aux | grep nginx

Obtenir le nom d'utilisateur de l'exécution de nginx . Il devrait être 'www-data' ou 'nobody' déterminé par la version de nginx. Ensuite frappé dans le Terminal(utiliser 'www-data' par exemple):

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

------------------------------Une Chose Plus Importante Est:------------------------------

Ces répertoires parents "/", "/root", "/root/téléchargements" devrait donner à l'exécution(x) l'autorisation de 'www-data' ou 'nobody'. c'est à dire

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

Pour plus d'information , voir La résolution "403 Forbidden" erreur et Nginx 403 interdit pour tous les fichiers

  • vous pouvez également donner les fichiers d'autorisation pour le groupe de nginx est à, qui est ce qui est fait habituellement, et aussi un peu plus logique
  • Vérifier ma réponse
  • je suis nouveau dans stackoverflow aussi, désolé pour le précédent commentaire, oui , je l'ai fait suite à vous répondre, mais j'ai échoué encore. je n'ai changé de propriétaire du fichier , mais le navigateur de me montrer la "403 forbidden".
  • avez-vous redémarrer nginx? aussi, nginx est un journal des erreurs de fichiers (généralement dans /var/log/nginx/) où vous pouvez trouver de plus amples informations, vérifier l'erreur et du journal des accès par exemple. BTW, peut-être que vous devriez commentaire sur ma réponse au lieu de votre question.
  • user root a parfaitement fonctionné pour moi sur ma machine de développement
  • hey man , faire attention à la "racine" , si un hacker hack vous nginx serveur racine sera le hacker .
  • oh mon dieu, je n'avais pas pensé à ça! 😡
  • Ne pas exécuter de nginx en tant que root s'il vous plaît!
  • je vous remercie. Je fais le vœu de faire "avez-vous redémarrer nginx?" ma première étape