Technical Support is available on this topic. Please contact Esri Technical Support and mention Article ID 000011685 and Article ID 000011689
See also: Geoevent WebSockets in 10.6 with ARR and Windows/IIS Reverse Proxy for GeoEvent WebSocket
I received a second request recently for the information below, provided to me originally by Javier on the GeoEvent Server development team, so I thought I’d post it in case others are looking for the information.
After installing ARR, double-click the URL Rewrite icon and create a similar rule (replacing the hostname of the Rewrite URL to match your environment):
After applying the rule confirm you are able to access GeoEvent Manager through IIS:
Configuring your SSL certificates will be important. You can use IIS to create and export a Domain Certificate with a private key and then configure ArcGIS Server and GeoEvent to use that certificate. An alternative would be to get IIS to trust the certificate that is configured with your ArcGIS Server/GeoEvent installation.
It was discovered that, using the 10.3.1 release of GeoEvent Server and IIS version 8.5 with WebSockets enabled, with ARR configured to create a reverse proxy for GeoEvent that StreamService connections did not work. This issue was addressed in the 10.4 release of GeoEvent Server.
10.3.1 deployments can create a reverse proxy similar to WebAdaptor specifically for WebSockets using NGINX. Steps outlined below provide some detail on installing and configuring NGINX. A sample nginx.conf configuration is attached which you can use as a reference.
Please note: Esri tech support cannot help troubleshoot reverse proxy configurations - whether they be NGINX, IIS, or Apache. If you do plan on deploying a reverse proxy as part of a systems solution, make sure you have someone with appropriate experience available to you for help troubleshooting. Esri tech support has a KB article you can refer to:
http://support.esri.com/cn/knowledgebase/techarticles/detail/40680
Note: The WebSocket reverse proxy server is set to use HTTPS, but it connects to HTTP on the backend. In the example configuration file, the proxy_pass for port 443 is set to http: //skivmHTTP; not https: //skivmHTTP.
For example:
{"WebSocketContextURL": "wss://skivm.esri.com"}
https: //<WAMachineName>/<context>/rest/services/<StreamServiceName>/Streamserver/subscribe
https: //<WAMachineName>/<context>/rest/services/<StreamServicename>/StreamServer?f=jsapi
See Also:
https://nginx.com/resources/wiki
http://nginx.com/resources/admin-guide/reverse-proxy
http://www.iis.net/downloads/microsoft/application-request-routing
http://www.iis.net/learn/extensions/configuring-application-request-routing-(arr)
Hope this information is helpful -
RJ
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.