[Seasar-user:10894] Re: TeedaのSSL機能について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 10月 5日 (金) 21:00:45 JST


小林 (koichik) です.

Date:    Fri, 5 Oct 2007 19:50:28 +0900
From:    石井 博之 <[E-MAIL ADDRESS DELETED]>
To:       <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:10893]  Re: TeedaのSSL機能について

> こちらですが、はずしてみたところ、httpsでアクセスすると、httpにリダイレクトされてしまいます。
> 確か、teedaでは内部的にsendRedirectを使用していたと思いますので、
> リダイレクトすると、強制的にhttpになってしまっていたかと記憶しています。

Teeda は通常,sendRedirect() にプロトコルを
含めないパスを渡します.
それを Web コンテナがその時のリクエストに従い
プロトコルを含む完全な URL を組み立てます.
ですから,通常は http でアクセスすれば http,
https でアクセスすれば https になります.

> またSSL アクセラレータは使用しております。

それが原因ですね.
SSL アクセラレータを使うと,https でアクセスしても
SSL アクセラレータが復号化して,Web コンテナには
http でアクセスされることになるはずです.

+--------+  https   +-----------------+  http  +-----------+
|ブラウザ|<-------->|SSLアクセラレータ|<------>|Webコンテナ|
+--------+          +-----------------+        +-----------+

そのため,Web コンテナ (sendRedirect) は常に
http プロトコルの URL を組み立てることになります.

> https: でアクセスされれば https: に,http: でアクセスされれば http: にリダイレクトできるような
> 仕組みがTeeda側で実装していただけるとうれしいのですが、
> もし難しいようでしたら、 org.seasar.teeda.core.resolver.RedirectUrlResolver 
> を拡張することを検討してみたいと思います。

前述のように,Teeda 側では http でアクセスされたか
https でアクセスされたかを判断することができないと
思います.
もしあっても SSL アクセラレータやその使い方に
依存した対応が必要になるのではないでしょうか.
ですから,Teeda として対応することは困難だと
思います.

RedirectUrlResolver を実装したクラスで独自に
判断するしかないと思います.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>




Seasar-user メーリングリストの案内