disable symlinks + try files = fail
charlie
nginx-forum на nginx.us
Чт Апр 26 13:29:20 UTC 2012
Здравствуйте.
"disable_symlinks" не работает вместе с
директивой "try_files".
Имеется симлинк "test.txt -> /home/otheruser/config.php"
Вот с таким конфигом виртхоста,
http://test.ru/test.txt отображет 403-ю ошибку в
браузере:
-----------------------------------------------------
server {
listen 192.168.0.1:80;
server_name test.ru www.test.ru;
location / {
proxy_pass http://192.168.0.1:8081;
include proxy.inc;
location ~.*\.(gif|jpg|png|ico|txt|js|css)$ {
root /home/test/public_html;
}
}
}
-----------------------------------------------------
А вот с конфигом, в котором
используется try_files, http://test.ru/test.txt
отображает содержимое файла другого
юзера:
-----------------------------------------------------
server {
listen 192.168.0.1:80;
server_name test.ru www.test.ru;
root /home/test/public_html;
location / {
location ~.*\.(gif|jpg|png|ico|txt|js|css)$ {
try_files $uri @backend;
}
error_page 405 = @backend;
add_header X-Cache "HIT from Backend";
proxy_pass http://192.168.0.1:8081;
include proxy.inc;
}
location @backend {
internal;
proxy_pass http://192.168.0.1:8081;
include proxy.inc;
}
location ~ .*\.(php|jsp|cgi|pl|py)?$ {
proxy_pass http://192.168.0.1:8081;
include proxy.inc;
}
}
-----------------------------------------------------
Это бага или фича?
Если фича, как будет выглядеть
корректный конфиг, чтобы и try_files
работало, проксируя запросы в апач,
если файл не существует, и запросы к
существующим файлам проверялись на
симлинкнутость?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,225817,225817#msg-225817
Подробная информация о списке рассылки nginx-ru