ПРОЕКТЫ 


  АРХИВ 


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: проксирование/балансинг н а tomcat(jboss) + struts + secureplugin





2009/4/24 Andrey Y. Ostanovsky <andrey@xxxxxxxxxxxxxxxxx>
Vladimir Rusinov wrote:
>>> Может кто-нибудь что-нибудь подсказать по этому поводу? Возможно кто-то
>>> знает какой-нибудь легкий ajp балансер/прокси (не апач)
>>>
>> А в чем проблема делать проксипасс с внешнего 443 порта на 80-й порт
>> томката с соответствующим сообщением в http заголовках?
>>
> Вы про Host: www.myhost:443 ?
> Если да, то пробовали - не помогает.
>

Вот такая конфигурация - не работает? Не верю!(с)

server    внешний.адрес:443 {

   ssl                                           on;
   server_name_in_redirect         off;

   location / {

       proxy_redirect   http://192.168.0.1:8180/aaa/
https://my.host/bbb/;

       proxy_pass                  http://192.168.0.1:8180;

   } # location

} # server

Разумеется не работает. С редиректами-то все в порядке.

Еще раз объясню проблему:

При запросе http://myproject/login.jsp запрос проксируется nginx на http://127.0.0.1:80/. Там struts по указаному конфигу видит что это login и что он должен быть secure. Делает редирект на https://myproject:443/login.jsp (что совершенно версно).

Браузер идет на https://myproject/login.jsp. Запрос проскируется в http://127.0.0.1:443/ с заголовком Host: myproject:443. Версии struts из jboss 4.0.x и 4.2.x считали что все безопасно (либо потому что видел порт 443, либо потому что в коннекторе tomcat на 443 порт было написано secure="true" и scheme="https") и отдавали страницу. Новый jboss видимо смотрит в какой коннектор пришел запрос, видит что там нифига не https и делает редирект на https://myproject:443/login.jsp, что повторяется бесконечно.

Никакие извращения с редиректами, номерами портов и т.п. не помогают. Правильных решения два:
1) написать ajp для nginx
2) хакнуть SecurePlugin из struts

Ни на то ни на другое ресурсов (пока) нет, поэтому хочется какого-то временного (пусть и не очень эффективного) решения, не настолько неэффективного как большой апач.

--
Vladimir Rusinov
http://greenmice.info/


 




Copyright © Lexa Software, 1996-2009.