ПРОЕКТЫ 


  АРХИВ 


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: постоянное использование https





2009/6/12 Sergej Kandyla <sk.paix@xxxxxxxxx>
Alexey V. Karagodov пишет:

http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
не оно?
<...>
а если фаером редиректить с 80 на 443 ?
прикольное извращение ...

ну так научены жизнию делать нетривиальные кастыли ;)  (увы...)

Вообще мне кажется что это сам томкат в хедерах подставляет url="" href="http://test.ru/test/" target="_blank">http://test.ru/test/
по крайней мере я много раз выхватывал эту граблю, пытаясь натравить [https] -> nginx  -> tomcat [http]


собственно это и не грабля а нормальное поведение, и лечится добавлением в томкат поддержки SSL. Например, у меня, так

  <Connector port="8443" maxHttpHeaderSize="8192"
             maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
             enableLookups="false" disableUploadTimeout="true"
             acceptCount="100" scheme="https" secure="true"
             clientAuth="false" sslProtocol="TLS"  keystorePass="123456" />


имхо это будет правильнее, чем пытаться сделать кастыль на базе nginx.


Я тоже долго воевал с похожей проблемой, только у меня не просто tomcat был, а jboss и приложение было написано с использованием struts (это какой-то java фреймворк), да еще и использовался secureplugin, он же struts-sslext. Этот зверь по указаным правилам редиректил на http или https (в зависимости от того есть что ценное на странице или нет).

В jboss я сделал два порта, один - обычной http, а другой такой:

  <Connector port="8443" maxHttpHeaderSize="8192"
             maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
             enableLookups="false" disableUploadTimeout="true"
             acceptCount="100" scheme="https" secure="true" />

(т.е. secure=true и scheme=https, но никаких keystore не объявлено). sslext и сам tomcat наивно полагали что там у него https, все редиректы и ссылки генерировал с https, коннектор работал как обычный http.


В какой-то из новых версий jboss обновился и tomcat, и это перестало работать - в такой конфигурации tomcat вообще к порту не биндился. Тогда пришлось убрать secure=true и scheme=https и немножнко переписать sslext.jar (убрать одно из условий в одном if'е).
Если кому-то нужно, могу дать исходники и объяснить подробнее.

PS: no top posting please


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


 




Copyright © Lexa Software, 1996-2009.