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.