mod_proxy_scgi mod_proxy のための SCGI ゲートウェイモジュール Extension mod_proxy_scgi.c proxy_scgi_module Apache 2.2.14 以降で使用可能

本モジュールには mod_proxy必要です。 本モジュールは SCGI protocol, version 1 をサポートします。

SCGI プロトコルを扱うためには、mod_proxymod_proxy_scgiが サーバに組み込まれて いなければいけません。

警告

安全なサーバにするまでプロキシ機能は有効にしないでください。 オープンプロキシサーバはあなた自身のネットワークにとっても、 インターネット全体にとっても危険です。

mod_proxy mod_proxy_balancer

以下の例を動かすには、mod_proxymod_proxy_scgi を有効にしなければいけないことを忘れないでください。

簡単なゲートウェイ ProxyPass /scgi-bin/ scgi://localhost:4000/

ロードバランスするゲートウェイには、既に言及したプロキシモジュール に加えて mod_proxy_balancer が必要です。

ロードバランスするゲートウェイ ProxyPass /scgi-bin/ balancer://somecluster/
<Proxy balancer://somecluster/>
BalancerMember scgi://localhost:4000/
BalancerMember scgi://localhost:4001/
</Proxy>
ProxySCGISendfile X-Sendfile 疑似レスポンスヘッダの評価を有効にする ProxySCGISendfile On|Off|Headername ProxySCGISendfile Off server configvirtual host directory

ProxySCGISendfile ディレクティブを設定すると、 SCGI バックエンドの代わりにゲートウェイが直接ファイルを転送できるようにします。 これはパフォーマンス向上のために使えます。 httpd は sendfile などの最適化を行うことができます。これはバックエンドからソケット経由でファイルを 受けた時にはできない最適化です。

ProxySCGISendfile の引数でゲートウェイの動作 を制御します:

Off
特別な動作をしません。
On
ゲートウェイはバックエンドのレスポンスヘッダから X-Sendfile と 呼ばれるヘッダを探し、その値を転送対象のファイル名と見なします。 ヘッダは最終的なレスポンスヘッダからは除かれます。 次の設定と等価です。 ProxySCGISendfile X-Sendfile.
その他
On にした場合に似ていますが、ハードコードしたヘッダ名の 代わりに、引数がヘッダ名として使われます。
Example # Use the default header (X-Sendfile)
ProxySCGISendfile On

# Use a different header
ProxySCGISendfile X-Send-Static
ProxySCGIInternalRedirect バックエンドからの内部的なリダイレクトレスポンスを有効あるいは無効にする ProxySCGIInternalRedirect On|Off ProxySCGIInternalRedirect On server configvirtual host directory

ProxySCGIInternalRedirect で、 バックエンドが内部的にゲートウェイを別の URL にリダイレクトできるようにします。 この機能は mod_cgi 起源で、レスポンスステータスが OK (200) で、かつレスポンスが Location ヘッダを持ち、かつヘッダ値の先頭がスラッシュ (/) であれば、 内部的にリダイレクトします。このヘッダ値が内部的なリダイレクト先の 新しい URL として解釈されます。

機能を無効にしない限り、mod_proxy_scgi は 上記の点で mod_cgi と同じ動作をします。

ProxySCGIInternalRedirect Off