Servicio web JBoss detrás del proxy inverso, https a http

Servicio web JBoss detrás del proxy inverso, https a http

Implementé un servicio web JAX-WS alojado en JBoss 7.1.1. Se accede al servicio web mediante un proxy inverso. Para acceder al servicio desde la internet pública se tiene que hacer mediante el protocolo https, pero la comunicación entre el proxy inverso y el JBoss es en http. Entonces, el host presente en el archivo wsdl es http <soap:address location="http://example.com/WS"/>y tiene que ser <soap:address location="https://example.com/WS"/>.

La configuración de JBoss es la siguiente:

modify-wsdl-addres = true


wsdl-host = jbossws.undefined.host

Aquí está la referencia para la configuración de servicios web: https://docs.jboss.org/author/display/AS71/Web+services+configuration

Pero puedo encontrar dónde forzar que el protocolo sea https en la dirección de jabón.

Respuesta1

Las configuraciones del subsistema weby webservicesfuncionan juntas para proporcionar la URL del punto final (y también las URL para declaraciones xs:import).

En la webservicesconfiguración agregue la siguiente línea

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

En la webconfiguración cambie el esquema del conector http de httpa httpsy agregueproxy-port="443"

Entonces se verá así:

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

información relacionada