[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 メーリングリストの案内