HTTP プロキシ構成

プロキシの背後にいて、HTTP 送信アダプターまたはゲートウェイのプロキシ設定を構成する必要がある場合、2 つのアプローチのいずれかを適用できます。ほとんどの場合、プロキシ設定を制御する標準の Java システムプロパティに依存できます。それ以外の場合は、HTTP クライアントリクエストファクトリインスタンスの Spring Bean を明示的に構成できます。

標準 Java プロキシ構成

3 つのシステムプロパティを設定して、HTTP プロトコルハンドラーで使用されるプロキシ設定を構成できます。

  • http.proxyHost: プロキシサーバーのホスト名。

  • http.proxyPort: ポート番号(デフォルトは 80 です)。

  • http.nonProxyHosts: プロキシをバイパスして、直接到達する必要があるホストのリスト。これは、| で区切られたパターンのリストです。パターンは、ワイルドカードの場合、* で開始または終了する場合があります。これらのパターンのいずれかに一致するホストには、プロキシ経由ではなく直接接続経由で到達します。

HTTPS の場合、次のプロパティを使用できます。

  • https.proxyHost: プロキシサーバーのホスト名。

  • https.proxyPort: ポート番号。デフォルト値は 80 です。

詳細については、docs.oracle.com/javase/jp/8/docs/technotes/guides/net/proxies.html を参照してください。

Spring の SimpleClientHttpRequestFactory

プロキシ設定をより明示的に制御する必要がある場合は、次の例に示すように、Spring の SimpleClientHttpRequestFactory を使用して「プロキシ」プロパティを設定できます。

<bean id="requestFactory"
    class="org.springframework.http.client.SimpleClientHttpRequestFactory">
    <property name="proxy">
        <bean id="proxy" class="java.net.Proxy">
            <constructor-arg>
                <util:constant static-field="java.net.Proxy.Type.HTTP"/>
            </constructor-arg>
            <constructor-arg>
                <bean class="java.net.InetSocketAddress">
                    <constructor-arg value="123.0.0.1"/>
                    <constructor-arg value="8080"/>
                </bean>
            </constructor-arg>
        </bean>
    </property>
</bean>