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