Прокси-сервер SOAP

Мне нужно связаться с сервером HTTPS SOAP через порт, отличный от стандартного 443. Клиентское приложение не работает (из-за ограничений) с портами, отличными от стандартных для HTTP и HTTPS

Как я могу настроить свой сервер Linux, на котором работает Apache, для туннелирования всех этих запросов, поступающих на soap.domain.com, на https://soapserver.otherdomain.com:1234/Service.asmx?

3 ответа

Я бы использовал обратный прокси, такой как haproxy или nginx с proxy_pass вариант.

Оба позволят вам прокси-запросы к вышестоящим серверам, и оба позволят HTTPS к soap.domain.com и разрешить проксирование к зашифрованному вышестоящему HTTPS-серверу в вашем случае: https://soapserver.otherdomain.com:1234/Service.asmx

По моему опыту, nginx несколько проще в настройке и настройке.

Соответствующая конфигурация nginx может выглядеть следующим образом:

listen       443 ssl;
server_name  soap.domain.com;
ssl_certificate     soap.domain.com.crt;
ssl_certificate_key soap.domain.com.key;
ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers         HIGH:!aNULL:!MD5;

location / {
    proxy_pass https://soapserver.otherdomain.com:1234;                     
}

И да, вы можете использовать самозаверяющий сертификат

Обратный прокси поможет вам.

Вы можете использовать apache mod_proxy, чтобы помочь вам. С помощью mod_proxy apache получит запрос на стандартные порты HTTP/HTTPS и затем внутренне перенаправит его на сервер SOAP.

http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

Читайте на обратном прокси. Это поможет вам лучше понять.

Мне не понятно, где нужно это делать - на SOAP-клиенте? На SOAP-сервере? где то посередине? Подход один и тот же вне зависимости - есть несколько способов сделать это.

  • Вы можете использовать iptables, чтобы переписать адреса пакетов.
  • Запустите демон прокси пакета (например, netcat), чтобы прослушать порт 443 и подключиться к порту XXX.
  • Сконфигурируйте [x]inetd для прослушивания порта 443 и запуска универсального клиента сокета (например, снова netcat), подключающегося к порту XXX

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

Другие вопросы по тегам