6.16.1 ゲートウェイ指定機能
クライアントとインプロセスHTTPサーバとの間に,SSLアクセラレータや負荷分散機などのゲートウェイを配置している場合で,welcomeファイルやForm認証画面への遷移時などにWebコンテナが自動的にリダイレクトするとき,Webコンテナではゲートウェイの情報を得ることができないで,転送先のURLを正しく作成できないことがあります。
これを解決するために,ゲートウェイ指定機能を使用します。ゲートウェイ指定機能によって,Webコンテナにゲートウェイ情報を通知し,welcomeファイルやForm認証画面に正しくリダイレクトできるようになります。
ゲートウェイ指定機能は次のような場合に使用できます。
-
クライアントとインプロセスHTTPサーバとの間にSSLアクセラレータを配置する場合
クライアントからSSLアクセラレータへのアクセスがHTTPSの場合でも,SSLアクセラレータからWebサーバへのアクセスはHTTPとなるため,WebコンテナはHTTPによるアクセスであると認識します。このため,welcomeファイルやForm認証画面へのリダイレクト先URLのスキームはHTTPとなります。
この場合,ゲートウェイ指定機能を使用して,スキームを常にhttpsと見なすように指定することで,正しくリダイレクトできるようになります。
-
Hostヘッダのないリクエストに対して,リクエストを受けたインプロセスHTTPサーバ以外へリダイレクトする必要がある場合
Hostヘッダのないリクエストをリダイレクトする場合,リダイレクト先URLのホスト名・ポート番号は,リクエストを受けたWebサーバのホスト名・ポート番号となります。
ゲートウェイ指定機能は,WebサーバまたはインプロセスHTTPサーバの前に負荷分散機を配置している場合などで,クライアントがアクセスするURLのホスト名・ポート番号が,リクエストを受けたWebサーバまたはインプロセスHTTPサーバと異なるときに使用します。これによって,クライアントからアクセスするホスト名・ポート番号が指定されるので,正しくリダイレクトできるようになります。
なお,インプロセスHTTPサーバを使用する場合,一つのWebコンテナに複数の異なる経路でアクセスする場合(複数のゲートウェイからWebコンテナにHTTPリクエストが転送される場合など),ゲートウェイ指定機能を使用できません。インプロセスHTTPサーバを使用する場合,ゲートウェイ指定機能を使用するには,Webコンテナへのアクセス経路は一つになる構成にする必要があります。