Назад | Перейти на главную страницу

Веб-сервис JBoss за обратным прокси, https на http

Я развернул веб-службу JAX-WS, размещенную в JBoss 7.1.1. Доступ к веб-сервису осуществляется через обратный прокси-сервер. Чтобы получить доступ к сервису из общедоступного Интернета, это должно быть сделано по протоколу 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

Вот ссылка на конфигурацию веб-сервисов: https://docs.jboss.org/author/display/AS71/Web+services+configuration

Но я могу найти, где заставить протокол быть https в мыльных адресах.

В web и webservices Конфигурации подсистемы работают вместе, чтобы предоставить URL-адрес конечной точки (а также URL-адреса для операторов xs: import).

в webservices конфигурация добавьте следующую строку

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

в web в конфигурации изменить схему http коннектора с http к https и добавить 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>