HTTP Proxy 設定

如果您位於 Proxy 後方,並且需要為 HTTP 輸出配接器或閘道器設定 Proxy 設定,您可以採用兩種方法之一。在大多數情況下,您可以依賴控制 Proxy 設定的標準 Java 系統屬性。否則,您可以為 HTTP 用戶端請求工廠實例明確設定 Spring Bean。

標準 Java Proxy 設定

您可以設定三個系統屬性來設定 HTTP 協定處理常式使用的 Proxy 設定

  • http.proxyHost:Proxy 伺服器的主機名稱。

  • http.proxyPort:連接埠號碼(預設值為 80)。

  • http.nonProxyHosts:應該直接連線而繞過 Proxy 的主機列表。這是一個以 | 分隔的模式列表。模式可以 * 開頭或結尾以表示萬用字元。任何符合這些模式之一的主機都會透過直接連線而非透過 Proxy 連線。

對於 HTTPS,可以使用以下屬性

  • https.proxyHost:Proxy 伺服器的主機名稱。

  • https.proxyPort:連接埠號碼,預設值為 80。

Spring 的 SimpleClientHttpRequestFactory

如果您需要更明確地控制 Proxy 設定,可以使用 Spring 的 SimpleClientHttpRequestFactory 並設定其 'proxy' 屬性,如下列範例所示

<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>