Nginx ne suit pas de liens symboliques

j'ai installé nginx sur Ubuntu 12.04. Cependant, nginx ne semble pas suivre les liens symboliques. Je comprends qu'il y est une config changement nécessaire pour cela, mais je ne suis pas en mesure de trouver où faire le changement. Toute aide appréciée.

32
demandé sur Neo 2012-09-27 19:00:41

3 réponses

regardez l'option de configuration suivante de nginx docs:

Syntaxe:

disable_symlinks off;
disable_symlinks on |
if_not_owner [from=part];

Default: disabl_symlinks off;

Contexte: http, serveur, site

cette directive est apparue dans la version 1.1.15.

28
répondu cobaco 2018-09-24 08:32:54

Dans mon cas nginx était déjà configuré pour suivre les liens symboliques. Mais le lien symbolique pointait vers mon répertoire personnel et nginx avait pas la permission d'accéder à mes fichiers.

Dans cet exemple, le lien est: /usr/share/nginx/www/mylink -> /home/myuser/html

cd /usr/share/nginx/www
mkdir   -p  /home/myuser/html
sudo ln -sv /home/myuser/html mylink
«mylink» -> «/home/u/html»

Donner à la lecture (r) et d'exécution (x) autorisations à l'aide de chmod comme suit:

chmod +rx    /home/myuser
chmod +rx -R /home/myuser/html

la permission D'écriture peut aussi être donnée si les scripts ont besoin d'écrire données:

chmod +w  -R /home/myuser/html/myPHP

Pas besoin de redémarrer ngnix, appuyez sur [CTRL+F5] dans votre navigateur.

Attention: il n'est pas recommandé de créer des liens symboliques pointant votre espace d'origine car une erreur sur l'accès en lecture/écriture ou d'autres liens symboliques peuvent causer des trous sécurisés dans vos données numériques!

Référence:Arch wiki

27
répondu olibre 2018-09-24 11:50:17

si la réponse d'olibre n'aide pas à éditer le fichier /etc/nginx/sites-available/default et ajouter cette ligne où vous avez spécifié votre répertoire racine du serveur.

autoindex on;

enregistrer le fichier et redémarrer le serveur

/etc/init.d/nginx restart
4
répondu Asgher Hussain 2016-08-23 02:45:08