Faire en sorte que Nginx suive les liens symboliques


28

Nginx ne suit pas les liens symboliques. J'obtiens une erreur 404. Dans mon annuaire, j'ai ce lien:

lrwxrwxrwx  1 root root    48 Sep 23 08:52 modules -> /path/to/dir/

mais les fichiers stockés dans /path/to/dirne sont pas trouvés.


Jetez un œil à nginx.org/en/docs/http/…
— Andy

2
OK j'ai résolu avec disable_symlinks off;. Merci!
— hellb0y77

Pas de problème, bonne journée!
— Andy

Veuillez saisir votre solution comme réponse et l'accepter (c'est un comportement équitable ici) ou supprimer votre question ailleurs.
— leonbloy

D'autres idées? Je rencontre ce problème, j'ai essayé de désactiver disable_symlinks; dans ma conf (même si c'est en fait la valeur par défaut de toute façon) et rien ne fonctionne.

Réponses:


38

Insérer disable_symlinks off;dans mon nginx.conf et je résolus, fonctionne très bien!

http {
    disable_symlinks off;
}

Je suis arrivé nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22après avoir fait ça. J'utilisais nginx/1.8.0sur Mac OS X.
— freez-flame

2
@ disable_symlinksfreezed -flame a été ajouté dans la version 1.1.15 ( voir la documentation ), donc cela aurait dû fonctionner. Êtes-vous sûr que vous étiez sur la version 1.8.0 et que c'était dans le contexte autorisé (http, serveur ou emplacement)?
— Ville

2
Contexte à utiliser disable_symlinks:http, server, location
— Thiago Pereira

1

J'ai trouvé la solution sur ce post .

Plus précisément, ces lignes:

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;

1

Utilisez l'option 'bind' en montant les dossiers =)

sudo nano /etc/fstab

Type:

/path/where/my/big/files_dir /var/www/myhost/media_dir bind defaults,bind 0 0

(pas de liens symboliques et n'oubliez pas de redémarrer vds / cpu)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.