Hosting HTML5 in Internet Information Services (IIS)

This article describes setup of HTML5 server on IIS.


.NET Core
.NET Core 3.1. is required. Download link: https://dotnet.microsoft.com/download/dotnet-core/3.1
Click on Hosting Bundle. Download it and install it.

Download HTML5

  1. Open following link: https://dev.azure.com/origam/Origam%20Builds/_build?definitionId=1&_a=summary
  2. Click on top run (#number) with Stages green.
  3. In Column Related click on published.
  4. Locate row with label HTML5. On the right side of the page is a download arrow icon. Click on it and download HTML5.zip
  5. Unzip this file into c:\inetpub. I suppose that there is IIS directory.

Setup IIS

Basic Setup

  1. Open IIS Manager
  2. Click on Application Pools
  3. On the right side click on Add Application Pool…
  4. Fill name (e. g. origam).
  5. NET CLR version set to No Managed Code.
  6. IMPORTANT!!! Go in Advanced Settings and check if Load User Profile is True.
  7. Right Click on Default Web Site → Manage Website → Advanced Settings…
  8. Change Physical Path from %SystemDrive%\inetpub\wwwroot to %SystemDrive%\inetpub\HTML5.
  9. Change Application Pool from DefaultAppPool to your new pool, that you’ve created (e. g. origam).
  10. Click on OK. Don’t close manager yet.

SSL Setup

Origam HTML5 server needS to work with https. There are two possibilities how it do it.

  1. This IIS is master server and it is visible on internet.
  2. This IIS is slave server and other IIS is master https server visible on internet.

HTML5 on IIS as master.

  1. Select Default Web Site and on the right side click on Bindings…
  2. Click Add…
  3. For Type select https.
  4. Chose SSL certificate. If there is no certificate, you have to add one (you can create self-signed certificates for test environments).

HTML5 on IIS as slave

In this case skip creating https and certificate. This IIS will be run only on http.
Add https on master IIS and create reverse proxy to this slave server.

Restart this IIS.

If you’re using virtual application under the main site and it is assigned to the same application pool, if the pool’s .NET CLR version is set to No Managed Code, the virtual application won’t be able to use the authentication cookie. Setting .NET CLR version to v4.0 solves the problem.