try_files + subrequest + proxy-handler
Eugene Mychlo
myc at cname.me
Mon Apr 20 14:39:18 UTC 2015
Добрый день,
Столкнулся со странной поведением nginx при использовании subrequest в сочетании с try_files с proxy-хэндлером.
В приведенной ниже конфигурации, ожидалось, что при наличии файла /tmp/tres, на запрос
http://127.0.0.1:8080/uno
nginx вернет строку "uno duo " или "tres tres ", но никак не "uno tres ".
Т.е. URI основного запроса передается без изменений (как и описано в документации), а подзапроса - нет.
Ситуация воспроизводится на nginx версий 1.7.9 - 1.7.12.
Отсюда вопрос: является ли подобное поведение задуманным или это бага?
Будет ли меняться? И не стоит ли отметить это в документации?
server {
listen 8081;
default_type text/html;
location /uno { return 200 "uno "; }
location /duo { return 200 "duo "; }
location /tres { return 200 "tres "; }
}
server {
listen 8080;
location / {
root /tmp;
try_files /tres =404;
proxy_pass http://127.0.0.1:8081;
add_after_body /duo;
}
}
--
Regards,
Eugene Mychlo MYC-RIPE EAMYC-RIPN
Подробная информация о списке рассылки nginx-ru