担当しているお客さんのサーバーにLBを導入する事になっていたが、SSLへのリダイレクトで無限ループになって返ってこなくなるという現象が発生しました。
今回のLBではSSL処理もLBで担う為、LB・サーバ間はHTTP通信のみにしたいのだが、Apacheでのリダイレクト以外にアプリ側でも行っているらしく、修正が必要になってしまいました。
安易にアプリで対応しちゃいがちですが、将来の拡張性を考えるとApacheで対応しておいた方が、移行が容易になりますね。
ちなみに他の人が6・7年前に作ったシステムなので、調べるのに苦労しました。

Strutsなのですが、アクション側ではSecurePluginを使っているようで、struts-config.xmlの下記の行を消せばOKでした。

<set-property property="secure" value="true" />

あと、jspは下記のタグを書けばリダイレクトしてくれるみたいなので、こいつも削除。

<sslext:pageScheme secure="true" />

ちなみにApacheでリダイレクトするには下記のような感じにすればOK。
設計段階で対象のパスを決めておかないと設定が多くなり過ぎて苦労しそう。

RewriteEngine On
RewriteRule ^/hoge/(.*)?$ https://%{HTTP_HOST}/hoge/$1 [L,R]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です