What is the correct way to proxing to any remote webservice? How to use nginx in front of IIS or other web server, who serves webservices?
As an example we have any remote SOAP webservice at http://B:8089/getClientService/getClientService?wsdl. In SOAP document of these webservice we have endpoint location:
.....
<service name="getClientService">
<port name="getClientService" binding="tns:getClientServiceBinding">
<soap:address location="http://B:8089/getClientService/getClientService"/>
</port>
</service>
.....
If we use proxy_pass:
server {
listen 80;
server_name A;
location /{
proxy_pass http://B:8089/;
}
nginx won't rewrite(or change) SOAP's endpoint address to itself, so any futher SOAP requests will fail, because requesting side makes request to direct host described at SOAP endpoint location :(
Thanks