Niech Nginx podąża za dowiązaniami symbolicznymi

28

Nginx nie korzysta z dowiązań symbolicznych. Otrzymuję błąd 404. W moim katalogu mam ten link:

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

ale pliki zapisane w /path/to/dirnie zostały znalezione.

hellb0y77
źródło
Spójrz na nginx.org/en/docs/http/…
Andy
2
OK rozwiązałem za pomocą disable_symlinks off;. Dzięki!
hellb0y77
Żaden problem. Miłego dnia!
Andy
Wpisz swoje rozwiązanie jako odpowiedź i zaakceptuj je (tutaj jest uczciwe zachowanie) lub w innym miejscu usuń pytanie.
leonbloy
Jakieś inne pomysły? Mam ten problem, próbowałem odłączyć disable_symlinks; w moim conf (chociaż i tak jest to domyślnie) i nic nie działa.

Odpowiedzi:

38

Wstawić disable_symlinks off;w moim nginx.conf i postanowiłem, działa bez zarzutu!

http {
    disable_symlinks off;
}
hellb0y77
źródło
Dostałem nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22po zrobieniu tego. Korzystałem nginx/1.8.0z systemu Mac OS X.
Frozen Flame
2
@ frozen-flame disable_symlinkszostał dodany w wersji 1.1.15 ( patrz dokumentacja ), więc powinien był działać. Czy na pewno korzystasz z wersji 1.8.0 i czy znajduje się w dozwolonym kontekście (http, serwer lub lokalizacja)?
Ville,
2
Kontekst do użycia disable_symlinks:http, server, location
Thiago Pereira
1

Znalazłem rozwiązanie w tym poście .

Mówiąc dokładniej, te linie:

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
Jonathan Martins
źródło
1

Użyj opcji „bind”, montując foldery =)

sudo nano /etc/fstab

Rodzaj:

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

(brak dowiązań symbolicznych i nie zapomnij zrestartować vds / cpu)

phpWebStudio
źródło