[GIS] Setting up local ArcGIS feature access services in Geocortex when the services (and end users) are behind a firewall

arcgis-serverfeature-servicegeocortexweb-mapping

We have an ArcGIS server (version 10.1) at my workplace – it is inside the firewall, and will (it seems) stay there. We also have a Geocortex web mapping solution based on Amazon hosting (version 3.14). The content on the Geocortex site is based mainly on copy data we upload to the cloud server, together with available WMS services.

What I try to do is to set up a site on our Geocortex to access certain feature access services on the ArcGIS Server for users within our firewall. That is – server, data and users are all inside the firewall. I am not trying to make data available outside of the firewall.

The problem is that the Geocortex REST manager application (which is in the cloud) requires access to the server to set up feature access services, and the firewall is preventing that. I have worked around this for WMS services by copying the GetCapabilities definition to somewhere outside of the firewall, but I can't find a similar workaround for ArcGIS services like feature access.

Anyone know a way to access the service definitions without opening the firewall? I am loath to go through the cumbersome and time-consuming process of getting IT to open the firewall every time I want to make changes…

Alternatively – do anyone have suggestions on other (affordable) solutions to set up a simple web-map for users inside the firewall using ArcGIS Online maps, available WMS services plus my feature access services?

Best Answer

The Geocortex Essentials Manager application tries to access an ArcGIS Server REST endpoint directly, because the Essentials REST application would also try to do that.

For most user interaction, your browser will make a direct connection to your resources. However, when you print the map, generate a report, or export a map image (among other things), Essentials will need to connect to your map to include it in the results or issue a query. You may have noticed that your WMS services don't get included in print jobs - this is why.

It is possible to fool the server by providing a web response when Essentials makes a web request, either through a filter on the server, through a proxy page, using the HOSTS file to spoof a host, or some sort of autoresponder to supply the JSON response that we're looking for when you add a map. However, any spoofed services would not appear in printed maps and you wouldn't be able to use them in a workflow (among other things), so we don't encourage that.

Is it possible to configure a VPN connection from the server to your internal network, or vice versa?

Related Question