В Сбт, 06/12/2008 в 20:42 +0300, Igor Sysoev пишет:
On Sat, Dec 06, 2008 at 07:30:50PM +0200, Bogun Dmitriy wrote:
> Сегодня столкнулся со странным с моей точки зрения поведением nginx'а.
> Имеется вхост вот такого вида.
>
>
> upstream byaka {
> server 127.0.1.25;
> server 127.0.128.25 backup;
> }
> server {
> listen 213.186.117.227;
>
> server_name byaka.dom1.net.ua;
> server_name .byaka.com.ua;
>
> access_log /var/log/nginx/byaka-access.log main;
> error_log /var/log/nginx/byaka-error.log info;
>
> location / {
> proxy_pass http://byaka;
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> ??? #proxy_redirect off;
Его тут изначально не было, это уже потом, когда я заподозрил в проблемах с переадресацией nginx, я вспомнил про эту директиву и добавил ее в конфиг.
> }
> }
>
>
> До добавления директивы proxy_redirect off, возвращаемый из upstream'а
> заголовок Location превращался из "byaka.com.ua/some/path" в
> ".com/ua/some/path".
>
> Это задуманное поведение или все же нет?
Да. Из "http://byaka.com.ua/some/path" вырезается "http://byaka" (из proxy_pass)
и вместо неё ничего не подставляется (так как у proxy_pass нет URI-part).
Можно переименовать
- upstream byaka {
+ upstream byaka_upstream {