Select to view content in your preferred language

Is there a config param for WMS OnlineResource HREF base?

3228
4
10-28-2013 10:57 AM
JoanneMcGraw
Frequent Contributor
Our ArcGIS Server is behind a firewall and not directly accessible. To get to it and its resources, users are routed through proxies. We've hit some problems related to accessing our WMSes as a result of this. At the moment, the only outstanding problem we're left with is the OnlineResource HREF that is returned in the GetCapabilities response XML. The OnlineResource HREF returned points to a server inside our firewall (that is, to our Web Adaptor server).

I see from the documentation (although it suggests I should not do this) that I can change the OnlineResource URL for each individual WMS service in the ArcGIS Manager. I'm wondering, though, if there is some config parameter somewhere (perhaps even in the ArcGIS Server Administrator Directory? or in a text config file somewhere?) where I can set a base URL for all WMS services? And, ArcGIS Server will use that as the base rather than what it thinks the base should be (in our case, the Web Adaptor server) in generating the OnlineResource itself?

Anything hiding out in there that might make our services deployment a bit more bullet-proof?

Cheers,
jtm
0 Kudos
4 Replies
JoanneMcGraw
Frequent Contributor
Okay, well, I tried changing the OnlineResource in the WMS Service's Configuration Properties but it doesn't seem to have had any impact on what is being written in the GetCapabilties response.

Is there something related to the Web Adaptor where I can set this properties base URL?

Cheers,
jtm
0 Kudos
JoanneMcGraw
Frequent Contributor
I contacted ESRI Canada Support about this problem and the final word from them is below (in case anyone else runs in to same).

To recap, we have an ArcGIS Server cluster behind a firewall but provide public access to the ArcGIS Server REST pages via a reverse proxy. The problem is that the GetCapabilities response to a WMS service on those REST pages (link is upper left) returns an OnlineResource path that starts with the host the Web Adapter is on. That particular host is, of course, not accessible to the public so the OnlineResource path provided by default is unusable.

It should be noted that the WMSes themselves (e.g., GetMap requests) work fine, but the end user would need to know enough to change the URL provided in the GetCapabilities response from pointing directly at the Web Adapter server to the public HTTP server that has the reverse proxies set up properly. The rest of the path is correct.

Anyway, the ESRI Canada Support person agreed that the Web Adapter appears to be overriding the WebContextURL property on the ArcGIS Servers. He was able to reproduce the problem in a test environment in both 10.1 and 10.2. He is logging a bug with Redlands about it.

The suggested workaround was to use external capabilities files or use a setup without the Web Adaptor. Neither are really feasible for us, so for now we'll likely just leave it broken on the public site and if anyone contacts us about it, we'll just tell them how to change the URL.
0 Kudos
SarahNoakes1
Frequent Contributor

Hi Joanne,

Do you have the bug reference number for this?

Cheers,

Sarah.

Cornwall Council

0 Kudos
JoanneMcGraw
Frequent Contributor

Sarah,

It was a while ago and I'm having trouble sorting out my ESRI Support emails for that period. We were dealing with a number of different issues at the same time and some back-and-forths about one problem got mixed up with other problems, etc.

I believe the proper bug reference number for this is: NIM085692 "When an ArcGIS Server is configured with multiple reverse proxies, some of the URLs returned by the server are incorrect"

It's problem description references the following thread: http://forums.arcgis.com/threads/66787-Multiple-Reverse-Proxies, which I was also involved in and really discusses some of the underlying issues. They also noted, in the NIM Problem Desciption, that they were able to reproduce the behaviour I was seeing but there are a number of internal (likely test) server links in the description that I can't imagine they'd appreciate me posting to a forum thread. The problem goes beyond what is described in the forum posts in that if affects a number of links (login, gettoken, help, soap, etc.) in the ArcGIS Services REST pages. So, while I won't include the links they did, here is the rest of the content of their problem description:

I can reproduce this reported behavior when reverse-proxies are configured for ArcGIS Server 10.1 SP1.

<internal url>

In this case <internal url> is a reverse proxy for <internal url> and <internal url> is reverse-proxy for <internal url>

Some of the links (login, gettoken, api reference, help, soap, in the services directory page shows a URL with both X-FORWARDED-* hosts instead of using the first one in the comma separated list.

<internal url>

Tokens services and soap url are incorrect in rest/info resource as well.

<internal url>

{

"currentVersion": 10.11,

"fullVersion": "10.1.1",

"soapUrl": "<internal url>",

"secureSoapUrl": null,

"authInfo": {

"isTokenBasedSecurity": true,

"tokenServicesUrl": "<internal url>",

"shortLivedTokenValidity": 60

}

}

As described in the forum post, the soap:address location is incorrect as well.

<internal url>

Unfortunately, we still are on 10.1 SP1 in our production environment, so I'm afraid I can't say if this problem has been addressed in later ArcGIS Server releases. If you find out, I'd be happy to hear about it. It might help push our request to upgrade through our approvals process.

Good luck,

jtm

0 Kudos