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

mnsold nginx-forum at nginx.us
Wed Jan 29 07:28:08 UTC 2014


> Либо вы неправильно пишите, куда возвращается 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
/usr/sbin/nginx -V
nginx version: nginx/1.5.8
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid
--lock-path=/var/run/nginx.lock
--http-client-body-temp-path=/var/cache/nginx/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx
--with-http_ssl_module --with-http_realip_module --with-http_addition_module
--with-http_sub_module --with-http_dav_module --with-http_flv_module
--with-http_mp4_module --with-http_gunzip_module
--with-http_gzip_static_module --with-http_random_index_module
--with-http_secure_link_module --with-http_stub_status_module
--with-http_auth_request_module --with-mail --with-mail_ssl_module
--with-file-aio --with-cc-opt='-g -O2 -Wp,-D_FORTIFY_SOURCE=2'
--with-ld-opt=-Wl,--as-needed --with-ipv6

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


Сделать nginx.conf, содержащий минимум необходимых  настроек можно, правда у
меня и так их минимум, работаю всего в 2х файлах, так скорее даже проще, они
оба маленькие, без художеств, все лишее потер:
1й файл - содержит блок server и нужный include (приводил выше)
2й файл - тот самый include с location'ами которые нужно спроксировать с
сервера alys. Никакие другие файлы на этот сервер не ссылаются. (приводил
выше)
оба этих файлов лежат в conf.d.

ну и есть конечно nginx.conf, но я его не трогал.




> Ну и как минимум ещё в цитате выше встречается 
> "alys.lan.iac.spb.ru", что вероятно является полным именем от 
> "alys" и по каким-то причинам считается бекендом правильным именем.
...
> Всё тоже - зафиксируйте одно имя, и добейтесь работы по этому 
> одному имени.  Когда заработает - можно начинать думать о 
> дополнительных именах, но не надо пытаться это делать раньше.
> 
> Сейчас у вас в схеме 6 разных доменных имён, и вы в них, судя по 
> всему, уже успели запутаться.

Должен извинится, тут скорее я ввел вас в заблуждение т.к. мои посты с
небольшой редакцией, а именно
тру не нужные комменты, и вместо полных названии хостов указал короткие,
других изменений не вношу.

С именами на самом деле все просто, их всего 2:
бэкенд - alys.lan.iac.spb.ru, только одно имя сервера, именно это, сервер
коротких имен не возвращает (имя alys которое я указывал выше, фактически
это alys.lan.iac.spb.ru).
фронтенд - analitica.iac.uts, тоже только одно имя

Но путаница и скороткими и длинными именами все же имела место, а именно в
этих директивах конфига я указал короткие имена:
proxy_pass http://alys:8180;
proxy_redirect http://alys:8180/ /;

Сейчас исправил все имена на полные имена, убрал лишние комменты для лучшей
читаемости, вот к чему это привело:
- ранее я писал, что если пишу так как Вы и советовали, то :
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 "-"
"



после всех изменений в location, конфиг в них стал такой
-------------------------------------------------------
location ^~ /SASWebReportStudio {
return 301 /SASWebReportStudio/;
}

location ^~ /SASWebReportStudio/ {
        proxy_pass     http://alys.lan.iac.spb.ru:8180;
        proxy_redirect default;

        proxy_set_header   Host                 $http_host;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_set_header   X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto    $scheme;
}

location ^~ /SASLogon {
return 301 /SASLogon/;
}

location ^~ /SASLogon/ {
        proxy_pass http://alys.lan.iac.spb.ru:8180;
        proxy_redirect default;

        proxy_set_header   Host                 $http_host;
        proxy_set_header   X-Real-IP            $remote_addr;
        proxy_set_header   X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto    $scheme;
}
-------------------------------------------------------

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,246899,246948#msg-246948



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