Configuring Vose to run behind IIS (SSL)

Configuring Vose to run behind IIS (SSL)

The steps involve configuration of rewrite rules in IIS and changing the Voyager URL and context path parameter in Voyager.

For proper UI functionality when using IIS, Websocket Protocol for IIS and a IIS Cache-Control settings are required

Configure IIS Cache Settings

Select HTTP Response Headers option:

 

Add a new configuration by clicking the “Add…” button on the right hand side of the page:

 

Add the following settings:

Name:

Cache-Control

Value:

no-cache

 

Enable WebSocket Protocol for IIS

  1. On the taskbar, click Server Manager

  2. In Server Manager, click the Manage menu, and then click Add Roles and Features

  3. In the Add Roles and Features wizard, click Next. Select the installation type and click Next. Select the destination server and click Next.

  4. On the Server Roles page, expand Web Server (IIS), expand Web Server, expand Application Development, and then select WebSocket Protocol. Click Next.

  1. On the Select Features page, click Next

  2. On the Confirm installation selections page, click Install

  3. On the Results page, click Close

 

Two IIS modules are required for this configuration

  • URL Rewrite Module

  • Application Request Routing (ARR)

 

Install ARR and URL Rewrite modules in IIS

To install ARR and URL Rewrite modules in IIS please navigate to the following links:

http://www.iis.net/downloads/microsoft/application-request-routing

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

ARR Configuration

The next step is a configuration of the reverse proxy functionality using ARR module.

From the IIS Manager, select a server node and then click the double click the ARR feature. 

Next, select “Server Proxy Settings…” from the menu on the right.

Next, check the box for Enable proxy

Enable Allowed Server Variables

Select the Default website (or relevant site for your organization)

Next, double click the URL Rewrite Module

From the menu on the right, select “View Server Variables…

Add the following server variables to the allowed server variables list using the “Add…” button on the right

HTTP_ACCEPT_ENCODING
HTTP_SEC_WEBSOCKET_EXTENSIONS

 

Creating Routing Rules with URL Rewrite Module

  • From the IIS Manager, select a Default Web Site and then click on the URL Rewrite feature

  • In the Actions pane on the right hand side click Add Rules

  • In the Add Rules dialog open the new Blank Rule

  • Add the following three rules

 

HTTPS Rule

NOTE: This rule must be first.

Pattern:

(.*)

Conditions:

{HTTPS}

“Matches the Pattern”

^OFF$

 

Redirect URL:

https://{HTTP_HOST}{REQUEST_URI}

 

Voyager Rule

Pattern:

^voyager(.*)

Server Variable:

HTTP_ACCEPT_ENCODING

Rewrite URL:

http://<FQDN>:8888/voyager{R:1}

 

HQ Rule

Pattern:

^hq(.*)

Server Variable:

HTTP_ACCEPT_ENCODING

Rewrite URL:

http://<FQDN>:8888/hq{R:1}

 

You should now have three URL Rewrite Rules

 

Server Settings

Server site.dex:

BaseURL=https\://windows10/voyager/

Voyager.vmoptions

-Dport=8888

-Dcontext.path=voyager

-Dinternal.url=https://windows10/voyager/

 

For Reference:

C:\inetpub\wwwroot\web.config

 

<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <clear /> <rule name="HTTPS Redirect" stopProcessing="true"> <match url="(.)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" /> </rule> <rule name="voyager localhost"> <match url="^voyager(.)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="True" /> </serverVariables> <action type="Rewrite" url="http://WINDOWS10:8888/voyager{R:1}" /> </rule> <rule name="hq localhost"> <match url="^hq(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <serverVariables> <set name="HTTP_ACCEPT_ENCODING" value="True" /> </serverVariables> <action type="Rewrite" url="http://windows10:8000/hq{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>