Re: Неверное перенаправление на странице

Maxim Dounin mdounin at mdounin.ru
Wed Jan 29 09:13:59 UTC 2014


Hello!

On Wed, Jan 29, 2014 at 02:28:08AM -0500, mnsold wrote:

> > Либо вы неправильно пишите, куда возвращается redirect, либо 
> > что-то недосмотрели в конфиге.
> > 
> > Совет: сделайте nginx.conf, содержащий минимум необходимых 
> > настроек и никаких include'ов (кроме разве что стандартных 
> > mime.types) и попробуйте воспроизвести проблему с ним.  
> > Художественное выпиливание конфигов из кусочков - верный способ 
> > запутаться.
> > 
> > Ну и debug log тоже неплохо помогает смотреть, что же на самом 
> > деле происходит.  Я просто оставлю эту ссылку здесь:
> > 
> > http://wiki.nginx.org/Debugging
> 
> дебаг я с удовольствеим посмотрел бы, директива error_log выставлена в debug
> но ничего не пишет у меня:
> error_log  /var/log/nginx/error.log debug;
> 
> не вижу опции --with-debug

[...]

> устанавливал из репозитория отсюда
> deb http://nginx.org/packages/mainline/debian/ squeeze nginx
> deb-src http://nginx.org/packages/mainline/debian/ squeeze nginx

Там же есть пакет nginx-debug, в котором тот же nginx, но 
собранный с --with-debug.

[...]

> Сейчас исправил все имена на полные имена, убрал лишние комменты для лучшей
> читаемости, вот к чему это привело:
> - ранее я писал, что если пишу так как Вы и советовали, то :
> proxy_redirect http://alys:8180/ /;
> или
> proxy_redirect default;
> то перебрасывает на
> http://alys:8180/SASLogon/index.jsp?_sasapp=Web+Report+Studio+4.3&
> 
> - теперь поведение стало единообразным, как в первом посте, т.е. если
> указать 
> proxy_redirect http://alys.lan.iac.spb.ru:8180/ /;
> или
> proxy_redirect default;
> то получаю: "Неверное перенаправление на странице" ну и в access логе много
> раз подряд ""GET /SASWebReportStudio/defaultHandler.jsp HTTP/1.1" 302 0 "-"
> "

Ок, с одной проблемой разобрались.  Теперь осталось понять, почему 
бекенду не нравится запрос к "/SASWebReportStudio/defaultHandler.jsp" и
почему он возвращает перенаправление снова и снова.

Обычно это бывает, когда бекенду не нравится имя, по которому к 
нему обратились.  Возможные направления решения:

1) Убрать из конфига proxy_set_header Host, т.е. обращаться к 
бекенду по его собственному имени, alys.lan.iac.spb.ru:8180.  
Обычно так всё работает, но может привести к некорректным ссылкам 
в возвращаемых бекендом страницах.

2) Убедить бекенд, что он должен отзываться на то имя, к которому 
обращаются пользователи.  Обычно это делается где-то в настройках 
бекенда.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru