Internet Information Services

IIS (10) Reverse Proxy

1. Install IIS Role on Windows (Server)

  1. Open Server Manager
  2. Go to Manage -> Add Roles and Features
  3. Select Role-based or feature-based installation
  4. Select your Server
  5. Enable Webserver (IIS)
  6. Click Next until the Assistant is done

2. Install ARR and URL Rewrite Module

The "Application Request Routing" Module is required for the Reverse Proxy Behavior

After that, start cmd.exe as Administrator and run iisreset

3. Enable ARR in IIS Manager

  1. Start the IIS Manager Application (Server Manager -> Tools -> Internet Information Services (IIS) Manager)
  2. Click on your Server and Select Application Request Routing Cache
  3. On the right side, click Server Proxy Settings and check Enable Proxy

4. Setup Reverse Proxy Rule

  1. Open or create your Site
  2. Click on URL Rewrite
  3. On the right side, click Add Rule(s)
  4. Select Blank rule at Inbound Rules
  5. Give your Rule a Name
    • Pattern
      Use a Regex Pattern here that matches whatever URL you want to r' proxy
      Example: Everything after the URL: ^(.*)$
    • Action
      Rewrite URL is your Target Webserver
      With the Pattern specified above, it will capture a Part of it using Regex. With the Example, everything after your URL.
      With this, an example Rewrite Url would be: http://localhost:16666/your-application/{R:1}
      {R:1} is your first captured result.
  6. Apply and restart your Site.

Windows Authentication for Websites

Windows Authentication on IIS works using the Physical Path' Permissions, configured
in the Basic Settings of the Site.

How to Configure

This applies both for new and existing Sites

  1. Start the IIS Manager Application (Server Manager -> Tools -> Internet Information Services (IIS) Manager)
  2. Open or create your Site
    The Physical Path Setting here is what counts. If you intend to use it as Reverse Proxy, create a empty "dummy" Directoy for this one
  3. Select your Directory
    • If you already have a site, go to Actions -> Basic Settings and update your Physical Path if necessary
  4. Go to Actions -> Edit Permissions
    This will open the Windows Directory Permissions Dialog. Here you can set your Permission. For Web Access, the Read Permission is required. Dependening on your Use-Case, other Permissions such as Write and Execute might be necessary