We are using a reverse proxy with ArcGIS Server 10.4. and a WebAdaptor.
The Proxy server sets the X-Forwarded Host, and we set the WebContextURL in the system properties. With this configuration, access to our MapService over the REST interface works well.
"WebContextURL": "https://<external url to gis server>/<web adaptor name>"
But when I try to access these services with ArcMap (SOAP interface), ArcMap cannot login. In the response GetTokenServiceURLResponse of the service I can see that the TokenServiceURL property is wrong:
https://https/<web adaptor name>/tokens/
<?xml version="1.0" encoding="utf-8" ?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.esri.com/schemas/ArcGIS/10.4"><soap:Body><tns:GetTokenServiceURLResponse>
<TokenServiceURL>https://https/<web adaptor name>/tokens/</TokenServiceURL></tns:GetTokenServiceURLResponse></soap:Body></soap:Envelope>
When I check the capabilities file of the WFS interface, I can see the same error in the url:
<ows:Operation name="GetCapabilities">
<ows:DCP>
</ows:DCP>
I can fix the capabilities file with an external capabilities file if there is no other solution. But the problem with accessing protected services wont go away with that.
Without the X-Forwarded Host setting the REST interface did not work either, so I think this setting is fine like it is.
bye, Nicole