Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus HTTP Server


4.17.2 mod_proxy_http2モジュールの組み込み

リバースプロキシ機能でバックエンドサーバとHTTP/2プロトコルを使用するためには,mod_proxyモジュール,mod_proxy_http2モジュールの組み込みが必要です。モジュールを組み込むには,コンフィグファイル(httpsd.conf)に次に示すディレクティブを指定します。

リバースプロキシ機能を使ってHTTP/2プロトコルでバックエンドサーバにリクエストを転送する設定例を次に示します。

ここでは各アドレスを次のように仮定しています。

このようにProxyPass ディレクティブを設定すると,クライアントからの"http://www.example.com/news/oct-2001"というリクエストは"http://backend.example.com/oct-2001"というリクエストに変更されます。変更されたリクエストはHTTP/2プロトコルを使用して,バックエンドサーバに送信されます。

バックエンドサーバでリダイレクトが指示された場合,バックエンドサーバからのレスポンスのLocationヘッダにバックエンドサーバのアドレスが記載されます。これをそのままクライアントに応答すると,クライアントはリダイレクトをリバースプロキシではなく,直接バックエンドサーバにリクエストします。そこで,ProxyPassReverseディレクティブを上記のように指定することで,リダイレクトリクエストもリバースプロキシを通るリクエストになります。

リバースプロキシ機能を使用してバックエンドサーバに転送する場合は,バックエンドサーバ側でもHTTP/2リクエストを受け付けるための設定が必要です。バックエンドサーバにCosminexusのNIO HTTPサーバを使用する場合には,NIO HTTPサーバのwebserver.http2.enabledキーにtrueの指定が必要です。詳細はマニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。