2016-12-15 3 views
0

У меня есть домен дребезжание в IP:Nginx URL перенаправления пользовательских URL

a.a.com -> 1.1.1.1

В 1.1.1.1 имеет Nginx, для доступа к a.a.com/bbb/2.2.2.2 «s Джанго службы.

`

#1.1.1.1 
server { 
    listen 8090; 
    server_name localhost; 
    location /bbb/ { 
     proxy_pass 2.2.2.2:8000; 
    } 
} 

`

когда вход a.a.com/bbb/, я могу получить доступ, это нормально.

Но когда тайм-аут сеанса входа в Django, он автоматически перенаправляет a.a.com:8090/bbb/.

Я хочу спросить, как автоматически перенаправить a.a.com/bbb/.

пс. доступ к порту 8090 недоступен

Извините, мой плохой английский, спасибо.

ответ

1

Использование proxy_redirect off:

location /bbb/ { 
    proxy_pass 2.2.2.2:8000; 
    proxy_redirect off; 
} 

proxy_redirect off говорит Nginx, что, если бэкенд возвращает HTTP редирект, он должен оставить его как есть. (По умолчанию nginx предполагает, что бэкэнд глуп и пытается быть умным, если бэкэнд возвращает перенаправление HTTP, которое говорит «перенаправить на http://localhost:8000/somewhere», nginx заменяет его чем-то похожим на «http://yourowndomain.com/somewhere» или, в вашем случае, «http://yourowndomain.com:8090/somewhere «Django достаточно умен, поэтому nginx не нужно делать такие вещи.)

+0

да, вы правы. Но ответ моей проблемы: старый автоматический URL-адрес перенаправления - a.a.com/bbb, измените его на a.a.com/bbb/, это нормально! Спасибо. –

Смежные вопросы