フォワード プロキシを構成する

Edge for Private Cloud v4.19.01

フォワード プロキシは、そこを経由して複数のマシンが外部サーバーにリクエストを送信する単一の通過ポイントを提供します。フォワード プロキシでは、リクエストをビジネスルールに準拠させるために、セキュリティ ポリシーの適用、リクエストのロギングと分析、その他の処理を行うことができます。Edge のフォワード プロキシは通常、API プロキシと外部の TargetEndpoint(バックエンド ターゲット サーバー)を仲介します。

Edge と TargetEndpoint の間で HTTP フォワード プロキシを使用するには、Message Processor(MP)でアウトバウンド プロキシ設定を構成する必要があります。MP はこれらのプロパティに従って、ターゲット リクエストを Edge から HTTP フォワード プロキシにルーティングします。

MP でフォワード プロキシを構成するには:

  1. MP で、次のファイルを編集します。
    /opt/apigee/customer/application/message-processor.properties

    message-processor.properties ファイルが存在しない場合は作成します。

  2. ファイルを編集し、下の表に示すプロキシ関連プロパティを設定します。
  3. プロパティ ファイルの所有者を「apigee」ユーザーにします。
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. 変更をプロパティ ファイルに保存します。
  5. 次のコマンドを使用して MP を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

次の表に、MP でバックエンド サーバーへのフォワード プロキシを構成するために message-processor.properties ファイルに設定するプロパティを示します。

プロパティ 説明

conf_http_HTTPClient.use.proxy

フォワード プロキシの使用を許可します。デフォルト値は true です。これは、バンドル構成に適切な XML を含めることで、API プロキシでフォワード プロキシを使用できることを意味します。

この値を false に設定した場合、フォワード プロキシは使用できません。


conf_http_HTTPClient.use.tunneling

デフォルトでは、Edge はすべてのトラフィックにトンネリングを使用します。デフォルトでトンネリングを無効にするには、このプロパティを「false」に設定します。


conf/http.properties+HTTPClient.proxy.type

HTTP プロキシのタイプを HTTP または HTTPS として指定します。デフォルトでは、「HTTP」が使用されます。


conf/http.properties+HTTPClient.proxy.host

HTTP プロキシが動作しているホストの名前または IP アドレスを指定します。


conf/http.properties+HTTPClient.proxy.port

HTTP プロキシが動作しているポートを指定します。このプロパティを省略すると、HTTP の場合はポート 80、HTTPS の場合はポート 443 がデフォルトで使用されます。


conf/http.properties+HTTPClient.proxy.user
    conf/http.properties+HTTPClient.proxy.password

HTTP プロキシで Basic 認証が必要な場合、これらのプロパティを使用して認証情報を指定します。

例:

conf_http_HTTPClient.use.proxy=true
    conf_http_HTTPClient.use.tunneling=false
    conf/http.properties+HTTPClient.proxy.type=HTTP
    conf/http.properties+HTTPClient.proxy.host=my.host.com
    conf/http.properties+HTTPClient.proxy.port=3128
    conf/http.properties+HTTPClient.proxy.user=USERNAME
    conf/http.properties+HTTPClient.proxy.password=PASSWORD

MP でフォワード プロキシを構成すると、API プロキシからバックエンド ターゲットへのすべてのトラフィックは指定された HTTP フォワード プロキシを経由します。API プロキシの特定のターゲットへのトラフィックを、フォワード プロキシを経由せずに直接バックエンド ターゲットに送る場合は、TargetEndpoint で次のプロパティを設定して HTTP フォワード プロキシをオーバーライドする必要があります。

<Property name="use.proxy">false</Property>

ターゲット エンドポイントへの接続の構成方法など、TargetEndpoint プロパティの設定の詳細については、エンドポイント プロパティのリファレンスをご覧ください。

すべてのターゲットへのフォワード プロキシをデフォルトで無効にするには、message-processor.properties ファイルで次のプロパティを設定します。

conf_http_HTTPClient.use.proxy=false

そのうえで、HTTP フォワード プロキシ経由でトラフィックを送る TargetEndpoint の use.proxy を「true」に設定します。

<Property name="use.proxy">true</Property>

デフォルトでは、Edge はプロキシへのトラフィックにトンネリングを使用します。デフォルトでトンネリングを無効にするには、message-processor.properties ファイルで次のプロパティを設定します。

conf_http_HTTPClient.use.tunneling=false

特定のターゲットに対してトンネリングを無効にする場合は、その TargetEndpoint で use.proxy.tunneling プロパティを設定します。ターゲットが TLS / SSL を使用する場合、このプロパティは無視され、メッセージは常にトンネルを介して送信されます。

<Property name="use.proxy.tunneling">false</Property>

Edge 自体をフォワード プロキシとして機能させる、つまりバックエンド サービスからリクエストを受け取って社外のインターネットにルーティングする場合は、まず Edge に API プロキシをセットアップします。その API プロキシに対してバックエンド サービスからリクエストを送信すると、API プロキシが外部サービスに接続します。