ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Неверное перенаправление на странице
  • From: "mnsold" <nginx-forum@xxxxxxxx>
  • Date: Wed, 29 Jan 2014 02:28:08 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=EIKqG5jPAJMwcQ1j3aig4+5kFNgEYlq9wWneePUg5EE=; b=j99SRF2MhHRZ/kXCiFu7uXNEsdIHnrqfxLvcGkXFZQZArFtm4fHll6OEj1NkY5KwGqtrDzKAh8IyuI2TYCsrgtIBdh3qPNRfkPIaocVuKKDgMNVby9exlFnBxleYFxA76i+1TCx2IvLOzycXfPdvEmMmFQxN59bwKeDJ2HZhOMo=;
  • In-reply-to: <20140129020234.GE1835@mdounin.ru>
  • References: <20140129020234.GE1835@mdounin.ru>

> Либо вы неправильно пишите, куда возвращается 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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.