3D Visualization (3DV)

Reverse Proxy Server

This section is for information purposes only.

For Streaming Viewer, the Client-side 3D HOOPS Viewer will need to communicate with the Server-side Services using networking ports that are not typically open in customer firewalls. Reverse Proxies allow network traffic to use standard HTTP connections (80, 443) for such information flow.

The following steps outlines the process of installing and configuring the Reverse Proxy for Streaming 3D Viewer:

  1. Install Application Request Routing (ARR) 3.0 from the following link: https://www.iis.net/downloads/microsoft/application-request-routing.

  1. Install URL Rewrite 2.1 from the following link:

https://www.iis.net/downloads/microsoft/url-rewrite

  1. After installation is complete, open IIS from Windows browser. A new module appears in IIS Manager.

  1. On IIS, click Application Request Routing Cache.

  2. From the Actions column, click Server Proxy Settings.

  1. Select Enable Proxy checkbox.

  2. Click Apply.

Next step is to Configure URL Rewrites rules. This can be done in two ways:

  • Option 1: Configure URL Rewrite rules using IIS
  • Option 2: Configure URL Rewrite rules using web.config file.

Option 1: Configure URL Rewrite rules using IIS:

The following two rules must be set up in URL Rewrite:

Entry point with link to Hoops Server

Web Socket connections

  1. From Actions column, click Add Rules.

  1. Click Blank Rule.

  1. Add the following details to the rule:
  1. Click Apply.
  2. Add another Blank Rule with the following details:
  • Name: Web Socket Reverse
  • Pattern: ws(.*)hoops_server/?(.*)
  • Rewrite URL: ws://localhost:{R:2}

    Option 2: Configure URL Rewrite rules using web.config file:

  1. Open web.config file from Aras Innovator code tree: “C:\Aras\InnovatorServer\Innovator\web.config file”.
  2. In the <system.webserver> tag, add the following code as shown in the screenshot below:

  • Hoops_server in match url can be different and this will be accounted as “Hoops Server Url”.
  • Action url should point to Instance of the Hoops Server.

Next step is to adjust HOOPS_ServerUrl.

  1. In the Aras Innovator Instance, from the Table of Contents, expand Administration and select Variables.
  2. Click Search Variables.

  1. Click Search and select HOOPS_ServerUrl. The HOOPS_ServerURL form appears.

Change HOOPS_ServerUrl to point to Hoops Server through configured proxy.

  1. Click Edit.
  1. In the Value field, add http://localhost/InnovatorServer/hoops_server/11182

    where,

    • Localhost – IP Address of the machine
    • InnovatorServer- Innovator instance of the user
    • 11182- Hoops Server port number

  1. Click Done to save the changes.
  2. Go to “HOOPS Server\server\node\Config.js”.
  3. For publicHostname parameter, make the following change:

publicHostname: “localhost/Your innovator instance/hoops_server”,

  1. Go to “HOOPS Server\server\node\lib\SpawnerExtension.js”.
  2. For getEndpoint(req, res)method,

Change: “endpoint":`${Utils_1.getWsProtocol(this.extConfig.sslEnableScServer)}://${hostname}:${this.extConfig.spawnServerPort}`,

To:

“endpoint":`${Utils_1.getWsProtocol(this.extConfig.sslEnableScServer)}://${hostname}/${this.extConfig.spawnServerPort}/`,