Select to view content in your preferred language

websocket url configuration in stream service

13781
6
Jump to solution
02-04-2015 03:27 AM
DriesHerzeel
Deactivated User

Hi,

using ArcGIS Server 10.3 and GeoEvent extension I published a stream service. The streamlayer is visible
and working on our ArcGIS server (tested using the javascript viewer on the same network: (
http://<localservername>:6080/arcgis/rest/services/ShipStream/StreamServer?f=jsapi)

As we need to expose this stream service to internet (secured) we have to do 2 things:

- set up a web socket reverse proxy

- change the default Web Socket Url

The problem is: How to configure websocketurls of  streamlayers using a reverse proxy server url instead of the machine name?

Maybe I'm seeing this wrong, but this is nowhere explained in any GEP documentation.

0 Kudos
1 Solution

Accepted Solutions
BruceDodson
Occasional Contributor

Thanks to Esri Technical Support for help recently with this same question!

It turns out there is a new system property "WebSocketContextURL" for this purpose, accessible via the ArcGIS for Server rest admin API.

Log in e.g. via http://locallost:6080/arcgis/rest/admin, use admin credentials, navigate to system -> properties -> update, and specify your reverse proxy URL in the JSON.

If the reverse proxy does not does not place /arcgis/ws/services at root, include the full path up to and including /arcgis, e.g. { "WebSocketContextURL" : "wss://exposed.server/prefix/arcgis" }.

View solution in original post

6 Replies
BruceDodson
Occasional Contributor

Thanks to Esri Technical Support for help recently with this same question!

It turns out there is a new system property "WebSocketContextURL" for this purpose, accessible via the ArcGIS for Server rest admin API.

Log in e.g. via http://locallost:6080/arcgis/rest/admin, use admin credentials, navigate to system -> properties -> update, and specify your reverse proxy URL in the JSON.

If the reverse proxy does not does not place /arcgis/ws/services at root, include the full path up to and including /arcgis, e.g. { "WebSocketContextURL" : "wss://exposed.server/prefix/arcgis" }.

IrfanClemson
Frequent Contributor

Hi bdodsonesri-ca-esridist,

I am having a real hard time making this work in my IIS and ArcGIS Server environment. I have tried various rules in IIS and added the WebSocketContextURL as well but so far I am only able to direct (from a non-GIS web server running IIS) to regular ESRI services on an ArcGIS Server. No luck with Web Socket part which is, of course, needed by the GeoEvent Extension.

Could you please share some screen caps or at least some configs in both IIS and the ArcGIS Server's 'System->Properties' page?

Thanks!

0 Kudos
IrfanClemson
Frequent Contributor

Never mind. This time I got it--I think!  Thanks

0 Kudos
MarcGraham1
Frequent Contributor

Hi Meengla, would you be able to share your settings?

Regards,

Marc

0 Kudos
IrfanClemson
Frequent Contributor

Hi,

Marc, yes, I will share. Probably in a separate post--the IIS/ARRsolution is working beautifully for me! As well as the traditional ArcGIS Services I also have the GeoEvent Extension/WebSocket working fine. No need for any Nginx--use IIS/ARR/UrlWrite in GUI mode along with the settings in the ArcGIS 'Admin' mode.

Thanks,

0 Kudos
MichaelKarikari1
Occasional Contributor

Hi

Irfan Tak - What did your IIS /AAR config look like trying to do same thing

0 Kudos