постоянное использование https
Sergej Kandyla
sk.paix at gmail.com
Fri Jun 12 17:19:52 MSD 2009
Alexey V. Karagodov пишет:
> http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
> не оно?
>
> On 12.06.2009, at 16:04, Sergej Kandyla wrote:
>
>> umask пишет:
>>> Добрый день,
>>>
>>> Есть nginx и бэкэнд в виде apache tomcat. Под томкатом работает SSO
>>> (single sign on) приложение (оно коммерческое и изменить его
>>> поведение не представляется возможным).
>>>
>>> Нужно чтобы вся работа с этим приложением велась через nginx+SSL.
>>> Поддержка SSL на уровне nginx работает отлично. Но вот бэкэнд при
>>> первом заходе пользователя на https://test.ru/ отдаёт:
>>>
>>> HTTP/1.1 200 OK
>>> Server: nginx/0.7.55
>>> Date: Fri, 12 Jun 2009 07:16:06 GMT
>>> Content-Type: text/html
>>> Connection: keep-alive
>>> Keep-Alive: timeout=240
>>> ETag: xxxxxxxxxxxxxx
>>> Last-Modified: Thu, 16 Apr 2009 16:14:40 GMT
>>> Content-Length: 234
>>>
>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
>>> "http://www.w3.org/TR/html4/loose.dtd">
>>> <html>
>>> <head>
>>> <meta http-equiv="refresh" content="0;url=http://test.ru/test/">
>>> </head>
>>>
>>> <body>
>>> </body>
>>> </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.
>
>>
>>
>>> Соответственно, proxy_redirect не работает. Сделать хак через
>>> ngx_http_sub_module не получилось.
>>> Подскажите, как сделать так, чтобы всегда использовался https
>>> независимо от того, что отдаёт бэкэнд?
>>>
>>> К сожалению сделать так, чтобы бэкэнд тоже работал с поддержкой SSL
>>> в моём случае невозможно.
>>>
>>>
>>
>
>
--
Best wishes, Sergej Kandyla
Всегда улыбайтесь жизни и жизнь всегда улыбнется вам!
More information about the nginx-ru
mailing list