mod_proxy_http - Apache HTTP サーバ バージョン 2.2

Apache HTTP サーバ バージョン 2.2

Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.2 > モジュール

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# Apache モジュール mod_proxy_http

翻訳済み言語: en | fr | ja

この日本語訳はすでに古くなっている 可能性があります。 最近更新された内容を見るには英語版をご覧下さい。

説明: | `mod_proxy` のための HTTP サポートモジュール
ステータス: | Extension
モジュール識別子: | proxy_http_module
ソースファイル: | mod_proxy_http.c

### 概要

本モジュールには `mod_proxy` が 必要です。 本モジュールは HTTP および HTTPS リクエストのプロキシに使う機能を提供します。 `mod_proxy_http` は、 HTTP/0.9 と HTTP/1.0 と HTTP/1.1 をサポートします。キャッシュ機能は 持ちません。 キャッシュ機能を持つプロキシを設定したい場合、`mod_cache` と組み合わせるのがよいでしょう。

HTTP リクエストのプロキシを有効にするには、`mod_proxy` と `mod_proxy_http` がサーバに組み込まれて いなければいけません。

### 警告

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

### トピック

- 環境変数

### ディレクティブ

このモジュールにディレクティブはありません。

### 参照

- `mod_proxy`
- `mod_proxy_connect`

- コメント

## 環境変数

`mod_proxy` の動作を制御する設定ディレクティブ に加えて、HTTP 動作を制御する多くの 環境変数 があります:

proxy-sendextracrlf
  プロキシが、リクエストの最後に追加の CR-LF 改行コードを送るように します。これはいくつかのブラウザにあるバグの回避用です。
force-proxy-request-1.0
  プロキシがバックエンドに HTTP/1.0 でリクエストを送るようにし、 HTTP/1.1 の機能を無効にします。
proxy-nokeepalive
  プロキシがリクエスト終了後にバックエンドとの接続を切るようにします。
proxy-chain-auth
  プロキシが認証を要求する場合、プロキシはクライアントから送られるユーザ情報で 認証しますが、ユーザ情報はその先に転送しません。 proxy-chain-auth を有効にすると、プロキシはユーザ認証情報を 次のプロキシにも転送します。ユーザ認証を共有しているプロキシを連結している時、 この動作が必要でしょう。セキュリティ上の警告: 必要性が分からない限り、この動作を有効にしてはいけません。 と言うのも、大事な情報を転送してしまうからです。
proxy-sendcl
  HTTP/1.0 では、ボディのあるリクエスト (例えば POST リクエスト) はすべて Content-Length ヘッダを持つ必要があります。 この環境変数で、クライアントがプロキシに送ったのが何であるかに関わらず、 Apache のプロキシがバックエンドサーバにこのヘッダを送るように強制します。 これにより、HTTP/1.0 もしくはバージョン不明のバックエンドに転送する時の 互換性を保証します。しかし、この動作のためにプロキシはリクエストすべてをバッファリング する必要があるかもしれません。このため、大きなサイズのリクエストで 非常に非効率になります。
proxy-sendchunks or proxy-sendchunked
  これは proxy-sendcl の逆です。 リクエストのボディを chunked 転送エンコーディングでバックエンドに 送れるようにします。効率的なストリーム転送ができますが、 バックエンドサーバが HTTP/1.1 をサポートしている必要があります。
proxy-interim-response
  この環境変数の値は `RFC` か `Suppress` です。 httpd の初期のバージョンはバックエンドからの HTTP interim レスポンス (1xx) を捨てることがありました。これは技術的には HTTP のプロトコル違反です。 実際には、バックエンドが interim レスポンスを返すとしたら、 そのバックエンドはプロトコルを我々の預かり知らない方法で独自拡張しているか、 単におかしいかどちらかでしょう。 なので、 interim に対する動作を設定で変更可能にしています。 `proxy-interim-response RFC` と設定すると、 プロトコル準拠の動作になります。`proxy-interim-response Suppress` と設定すると、 interim レスポンスをプロキシしません。
proxy-initial-not-pooled
  この環境変数をセットすると、クライアントの最初の接続にはプールした 接続を使わなくなります。これは競合状態を原因とする "proxy: error reading status line from remote server" エラーメッセージを 回避します。競合状態は、プロキシがプールした接続をチェックした後、 プロキシの送ったデータがバックエンドに到達する前にバックエンドが接続を閉じると発生します。 この変数をセットすることでパフォーマンスが劣化することを知っておくべきです。 特に HTTP/1.0 のクライアントに影響します。

翻訳済み言語: en | fr | ja

## コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.