転送プロキシによって、複数のマシンから外部サーバーにリクエストを送信するための単一の通過ポイントが提供されます。転送プロキシでは、リクエストをビジネスルールに準拠させるために、セキュリティ ポリシーの適用や、リクエストのロギングと分析などの処理を行うことができます。Edge では、通常、転送プロキシが API プロキシと外部の TargetEndpoint(バックエンド ターゲット サーバー)の中間にあります。
Edge と TargetEndpoint の間で HTTP 転送プロキシを使用するには、Message Processor(MP)でアウトバウンド プロキシ設定を構成する必要があります。これらのプロパティは、Edge から HTTP 転送プロキシにターゲット リクエストをルーティングするように MP を構成します。
転送プロキシ用に MP を構成するには:
- MP で、次のファイルを編集します。
/opt/apigee/customer/application/message-processor.properties
message-processor.propertiesファイルが存在しない場合は作成します。 - ファイルを編集して、以下の表に示すプロキシ関連のプロパティを設定します。
- プロパティ ファイルが「apigee」ユーザーによって所有されていることを確認します。
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 変更をプロパティ ファイルに保存します。
- 次の例のように、MP を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
次の表に、バックエンド サーバーへのフォワード プロキシ用に MP を構成するために使用する message-processor.properties ファイルのプロパティを示します。
| プロパティ | 説明 |
|---|---|
conf_http_HTTPClient.use.proxy |
転送プロキシの使用を許可します。デフォルト値は この値を |
conf_http_HTTPClient.use.tunneling |
デフォルトでは、Edge はすべてのトラフィックにトンネリングを使用します。デフォルトでトンネリングを無効にするには、このプロパティを「false」に設定します。 |
use.proxy.host.header.with.target.uri |
ターゲット ホストとポートを
<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
次に、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 プロキシは外部サービスに接続できます。