Featured image of post Windows (IIS) Reverse Proxy

Windows (IIS) Reverse Proxy

Overview

If you’re used to setting up Nginx, IIS can be quite unintuitive. Starting form GUI management, ending with modules being downloaded manually opposed to package repositories in Linux.

Prequisites

For Reverse proxy you need to install following components from server manager or Microsoft website:

For example purpose, I have windows non-standart application - nodejs, started separately on port 3000 hello world!

Checking installed modules

If you have ARR and URL Rewrite module installed, you will see them both in IIS menu

Configuring reverse proxy

  1. Create IIS site by right clicking in left menu entry

Assigning any domain and a valid SSl

  1. In the site, create URL rewrite Rule

  1. Check the domain and you have an app with ssl and 443 port
1
2
3
4
5
6
7
8
9
curl -v https://nodejs.gray.ge
* Connected to nodejs.gray.ge (192.168.90.134) port 443
> GET / HTTP/2
> Host: nodejs.gray.ge
> Accept: */*
< HTTP/2 200
< x-powered-by: ARR/3.0
* Connection #0 to host nodejs.gray.ge left intact
Hello World!

For single-endpoint reverse proxy, ARR and URL Rewrite module are enough, if we have more than one server, then we should use Server Farms module.