反向代理背後的 JBoss Web 服務,https 到 http

反向代理背後的 JBoss Web 服務,https 到 http

我已經部署了一個託管在 JBoss 7.1.1 中的 JAX-WS Web 服務。 Web 服務由反向代理程式存取。要從公共互聯網存取該服務,必須透過 https 協定來完成,但反向代理和 JBoss 之間的通訊是透過 http 進行的。因此 wsdl 檔案中的主機是 http<soap:address location="http://example.com/WS"/>且必須是<soap:address location="https://example.com/WS"/>.

JBoss配置如下:

modify-wsdl-addres = true


wsdl-host = jbossws.undefined.host

以下是 webservices 配置的參考: https://docs.jboss.org/author/display/AS71/Web+services+configuration

但我可以找到在肥皂地址中強制協議為 https 的位置。

答案1

web和子系統設定webservices共同提供端點 URL(以及 xs:import 語句的 URL)。

webservices配置中新增以下行

<wsdl-port>443</wsdl-port>

web配置中將 http 連接器的方案從 更改為httphttps添加proxy-port="443"

所以它看起來像這樣:

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <connector name="http" protocol="HTTP/1.1" scheme="https" socket-binding="http" 
     secure="true" proxy-port="443"/>
     ...
</subsystem>
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
    <modify-wsdl-address>true</modify-wsdl-address>
    <wsdl-host>jbossws.undefined.host</wsdl-host>
    <wsdl-port>443</wsdl-port>
    ...
</subsystem>

相關內容