ПРОЕКТЫ 


  АРХИВ 


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: Неправильный порт в ред иректах



On Tue, Jan 19, 2010 at 03:04:54PM -0500, Ruslan wrote:

> Использую nginx как фронтенд, tomcat за backend. Фронтенд висит на 8111, 
> бэкенд на 8180. Все хорошо, но когда томкат отдает 302 redirect, джинкс 
> почему-то пребрасывает его на стандартный 80-й порт. Т.е. томкат отдает 
> Location: http://localhost:8180/wicket/index, что на выходе с nginx 
> становится http://www.my.site/wicket/index -- хотя, повторяю, джинкс висит на 
> 8111 порту.
> 
> конфиг:
> 
> location / {
>                 rewrite                 /flowplayer/(.*)        
> /flowplayer/$1  break;
>                 rewrite                 /pages/(.*)             /pages/$1     
>   break;
>                 rewrite                 /wicket/(.*)            /wicket/$1    
>   break;
>                 rewrite                 /(.*)                   /wicket/$1    
>   break;
> 
>                 proxy_pass         http://localhost:8180/;
>                 #proxy_redirect     http://localhost:8180/ 
> http://$host:$server_port/;
>                 #proxy_redirect         default;
>                 #proxy_redirect         off;
>                 proxy_redirect          http://localhost:8180/          
> http://$host:8111/;
>                 proxy_redirect          http://www.tvintime.info:8180/  
> http://$host:8111/;
>                 proxy_redirect          http://tvintime.info:8180/      
> http://$host:8111/;
>                 proxy_redirect          http://localhost/               
> http://$host:8111/;
>                 proxy_redirect          /       /;
> 
>                 #port_in_redirect        off;
> 
>                 proxy_set_header   Host             $host;
>                 ....
> }
> 
> 
> закоментированные и раскоментированные варианты proxy_redirect я перепробовал 
> в самых разных комбинациях. 
> 
> Сталкивался кто-нибудь с таким? Чем лечится?

А что это за кошмар с rewrite'ами ? От RewriteRule'ов нужно отвыкать, да.

    proxy_set_header   Host    $host;
    port_in_redirect   on;
    proxy_redirect     http://localhost:8180/   /;

    location / {
        proxy_pass         http://localhost:8180/wicket/;
    } 

    location /wicket/ {
        proxy_pass         http://localhost:8180;
    } 

    location /pages/ {
        proxy_pass         http://localhost:8180;
    } 

    location /flowplayer/ {
        proxy_pass         http://localhost:8180;
    } 


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.