proxy_pass и X-Accel-Redirect - баг или фича?
Olexander Shtepa
isk на easydategroup.com
Пн Июл 26 20:10:27 MSD 2010
Привет всем,
столкнулся сегодня с одной проблеммой, поиск по рассылке не особо помог.
При использовании X-Accel-Redirect в локейшн где прописан proxy_pass http://server; , в server передается не значение из заголовка X-Accel-Redirect, а первоначальный запрос. Нечто похожее было исправлено в 0.7.11.
nginx version: nginx/0.7.65
Фрагмент конфига:
location / {
proxy_pass http://web2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-SCHEME $scheme;
proxy_redirect off;
}
location /static/ {
proxy_pass http://nfs;
proxy_set_header Host site1;
}
Первоначальный запрос /logos/1111/2222222222/33333333333333333333333333333333/static/generated/crm/bn_logo_v.gif
Этот запрос попадает в пхп скрипт, который возвращает заголовок "X-Accel-Redirect: /static/generated/crm/bn_logo_v.gif"
Против ожидания, в апстрим nfs уходит URI не /static/generated/crm/bn_logo_v.gif, а первоначальний /logos/1111/2222222222/33333333333333333333333333333333/static/generated/crm/bn_logo_v.gif.
Проблемму удалось обойти использованием proxy_pass http://nfs$uri;
Вот в чем вопрос - баг, или фича?
Подробная информация о списке рассылки nginx-ru