反向代理后面的 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

但是我可以在 soap 地址中找到强制协议为 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>

相关内容