Заставьте Nginx следовать символическим ссылкам


28

Nginx не следует по символическим ссылкам. Я получаю ошибку 404. В моем каталоге у меня есть эта ссылка:

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

но файлы, хранящиеся в /path/to/dirне найдены.


Взгляните на nginx.org/en/docs/http/…
Энди,

2
ОК, я решил с disable_symlinks off;. Благодарность!
hellb0y77

Нет проблем. Хорошего дня!
Энди

Пожалуйста, либо введите свое решение в качестве ответа и примите его (это справедливое поведение здесь), либо в другом месте удалите свой вопрос.
leonbloy

Есть другие идеи? У меня возникла эта проблема, я попытался отключить disable_symlinks; в моем conf (хотя это на самом деле по умолчанию в любом случае), и ничего не работает.

Ответы:


38

Я вставил disable_symlinks off;в мой nginx.conf, и я решил, работает отлично!

http {
    disable_symlinks off;
}

Я получил nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22после этого. Я использовал nginx/1.8.0на Mac OS X.
замороженное пламя

2
@ frozen-пламя disable_symlinksбыло добавлено в версии 1.1.15 ( см. документацию ), так что должно было сработать. Вы уверены, что были на 1.8.0, и что это было в разрешенном контексте (http, сервер или местоположение)?
Вилле

2
Контекст для использования disable_symlinks:http, server, location
Thiago Pereira


1

Используйте опцию 'bind', монтируя папки =)

sudo nano /etc/fstab

Тип:

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

(без символических ссылок и не забудьте перезапустить VDS / CPU)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.