ПРОЕКТЫ 


  АРХИВ 


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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: постоянное исполь зование https
  • From: Sergej Kandyla <sk.paix@xxxxxxxxx>
  • Date: Fri, 12 Jun 2009 16:19:52 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=0pcYo5g9oTt+Slxq5J4TGQpkHZKuLUBo6Dz9nIWq70s=; b=qLQ/FCEwCNlNgfAj6cCXOZQvNbkAua+1+GiTd555x1o01j+cd6/azFwPGdeMYxvkTu yT9ED1JQlPT5+wxzHluePOTouQbF9xSGKaEyT29WS7xHsmyeq2hWgsbzvkVGwdi3GnHx 2lm/oNBMMsYi2uRQ7mDDhrhmV6CXdvrN8quOw=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=s0/sofpL62duM96pJXFKYRjhzWJaSnuNPIiVIYcF88RaOXj7MoOv+k2aiGQLJKuoUt xcC0ORxTHG7vOhhMPFYv4fOuKKKptOw2aHmtDPIw2POSoYP3/eXpQALfvoAxRbfzCjml 32bnPEe9R+LEza3twTSYlMTlseKrm26TxnuDQ=
  • In-reply-to: <2BC578C0-3B43-4A12-97DF-723E9A9C0EE3@xxxxxxxxxxxxxx>
  • References: <194251244791312@xxxxxxxxxxxxxxxxxxx> <4A324431.5080409@xxxxxxxxx> <2BC578C0-3B43-4A12-97DF-723E9A9C0EE3@xxxxxxxxxxxxxx>

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
Всегда улыбайтесь жизни и жизнь всегда улыбнется вам!




 




Copyright © Lexa Software, 1996-2009.