Re: постоянное использование https

Vladimir Rusinov vladimir at greenmice.info
Mon Jun 15 11:18:47 MSD 2009


2009/6/12 Sergej Kandyla <sk.paix at gmail.com>

> Alexey V. Karagodov пишет:
>
>  http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
>> не оно?
>> <...>
>>
>>> а если фаером редиректить с 80 на 443 ?
>>>
>> прикольное извращение ...
>>
>
> ну так научены жизнию делать нетривиальные кастыли ;)  (увы...)
>
> Вообще мне кажется что это сам томкат в хедерах подставляет url=
> 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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090615/d0b4694a/attachment.html>


More information about the nginx-ru mailing list