転送プロキシを構成する

フォワード プロキシは、複数のマシンが外部サーバーにリクエストを送信するための単一の通過ポイントを提供します。転送プロキシでは、リクエストをビジネスルールに準拠させるために、セキュリティ ポリシーの適用や、リクエストのロギングと分析などの処理を行うことができます。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」であることを確認します。user:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. プロパティ ファイルに変更を保存します。
  5. 次の例のように、MP を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

次の表に、message-processor.properties のプロパティを示します。 このファイルを使用して、バックエンド サーバーへの転送プロキシ用に MP を設定します。

プロパティ 説明
conf_http_HTTPClient.use.proxy

転送プロキシの使用を許可します。デフォルト値は true です。つまり、 関連する XML を属性に含めることで、API プロキシレイヤでフォワード プロキシを 必要があります。

この値を false に設定した場合、転送プロキシは使用できません。

conf_http_HTTPClient.use.tunneling

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

use.proxy.host.header.with.target.uri

ターゲットのホストとポートを Host ヘッダーとして設定します。デフォルトでは、プロキシのホストとポートは Host ヘッダーとして設定されます。このプロパティを設定できるのは ターゲット エンドポイント。例:

<HTTPTargetConnection>
    <Properties>
        <Property name="use.proxy.host.
         header.with.target.uri">true
        </Property>
    </Properties>
    <URL>https://mocktarget.apigee.net/
     my-target</URL>
</HTTPTargetConnection>

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 プロキシで基本認証が必要な場合は、これらのプロパティを使用して、 承認の詳細が表示されます。

例:

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 プロパティの設定の詳細については、Endpoint プロパティのリファレンスをご覧ください。

すべてのターゲットの転送プロキシをデフォルトで無効にするには、 message-processor.properties ファイル:

conf_http_HTTPClient.use.proxy=false

次に、use.proxy を「true」に設定します。通過する TargetEndpoint に対しても HTTP フォワード プロキシ:

<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 プロキシは外部 提供します。