Setting Up ARR (Application Request Routing) as a Reverse Proxy with IIS
Jul 02, 2025 pm 03:22 PMYes, you can use ARR with IIS as a reverse proxy by following these steps: first install ARR and URL Rewrite via Web Platform Installer or manually; next enable proxy functionality in IIS Manager under ARR settings; then configure reverse proxy rules to specify which requests to forward to backend servers; optionally adjust caching, health checks, and header rewrites for improved performance and reliability—once configured, IIS with ARR effectively forwards traffic while hiding backend services.
Yes, you can absolutely use ARR (Application Request Routing) with IIS as a reverse proxy — and it's actually one of the more common ways to handle this kind of setup on Windows servers. The main idea is that IIS, with ARR enabled, sits in front of your backend applications (like Node.js, Tomcat, or even another IIS site), accepts incoming requests, and forwards them along — all while keeping the backend invisible to the outside world.

Here’s how to get it working smoothly.

Install ARR and URL Rewrite
Before anything else, you need to make sure both ARR and the URL Rewrite module are installed on your IIS server.
- ARR doesn’t come pre-installed, so you’ll need to grab it via Web Platform Installer (or manually install the MSI).
- URL Rewrite is a separate module but required for ARR to function properly.
Once installed, open IIS Manager, select the server node, and double-click "Application Request Routing Cache" — you should see a dashboard where you can enable proxy settings.

Enable Proxy Functionality
By default, ARR is not configured to act as a reverse proxy. You have to explicitly turn that on:
- In IIS Manager, go to the server-level ARR settings.
- Click “Proxy” in the left-hand menu.
- Check the box labeled “Enable proxy.”
This step is crucial — if you skip it, ARR won’t forward traffic at all.
Also, keep in mind:
- You can tweak timeouts and buffer sizes here if needed.
- Make sure your firewall allows traffic between IIS and your backend service.
Set Up the Reverse Proxy Rule
Now comes the part where you tell IIS what requests to forward and where to send them.
Go to the site or application in IIS where you want the reverse proxy to live, then:
- Open “URL Rewrite”
- Click “Add Rule(s)…”
- Choose “Reverse Proxy” under the “Inbound” section
- Enter the backend server address (e.g.,
http://localhost:3000
) - Optionally, add rewrite rules to modify headers or URLs
The rule will look something like this in web.config
:
<rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="api/(.*)" /> <action type="Rewrite" url="http://backend-server/api/{R:1}" /> </rule>
A few things to note:
- Use specific URL patterns to avoid proxying unintended paths.
- If you're rewriting host headers, make sure to set them correctly in outbound rules.
- Don’t forget to test the response from the backend — sometimes cookies or redirects break if headers aren't handled right.
Optional: Fine-Tune Caching and Health Checks
If you're using ARR’s caching features, you can improve performance by serving cached content for static assets or less dynamic parts of your app.
Also, ARR supports health checks — meaning it can detect when a backend server is down and route traffic elsewhere (if you have multiple endpoints). This is optional but handy in production setups.
To configure:
- Go to Application Request Routing Cache → Advanced Settings
- Set cache duration and define conditions for bypassing the cache
- Under Server Farms, set up health tests if you’re load balancing
Keep in mind that enabling caching might cause stale content issues if not managed carefully.
That’s basically it — once everything is configured and tested, your ARR IIS reverse proxy should be up and running without too much fuss. It's not overly complex, but there are a few moving parts that need to line up just right.
The above is the detailed content of Setting Up ARR (Application Request Routing) as a Reverse Proxy with IIS. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to use Nginx with FastAPI for reverse proxy and load balancing Introduction: FastAPI and Nginx are two very popular web development tools. FastAPI is a high-performance Python framework, and Nginx is a powerful reverse proxy server. Using these two tools together can improve the performance and reliability of your web applications. In this article, we will learn how to use Nginx with FastAPI for reverse proxy and load balancing. What is reverse generation

Nginx is a high-performance, open source, and versatile web server that is also widely used as a reverse proxy server. Reverse proxy servers can be used to provide features such as load balancing, high availability, access control, and traffic control. This article will introduce the application of access control and flow control in Nginx reverse proxy. 1. Access control IP address blacklist/whitelist Nginx can implement access control on requests by configuring IP address blacklist or whitelist. IP addresses in the blacklist will be denied access, while IP addresses in the whitelist

With the rapid development of web applications, more and more enterprises tend to use Golang language for development. In Golang development, using the Gin framework is a very popular choice. The Gin framework is a high-performance web framework that uses fasthttp as the HTTP engine and has a lightweight and elegant API design. In this article, we will delve into the application of reverse proxy and request forwarding in the Gin framework. The concept of reverse proxy The concept of reverse proxy is to use the proxy server to make the client

Use NginxProxyManager to implement reverse proxy load balancing strategy NginxProxyManager is an Nginx-based proxy management tool that can help us easily implement reverse proxy and load balancing. By configuring NginxProxyManager, we can distribute requests to multiple backend servers to achieve load balancing and improve system availability and performance. 1. Install and configure NginxProxyManager

Nginx reverse proxy cache configuration to achieve static web page access acceleration Introduction: With the rapid development of the Internet, access speed has become a very important factor in website operations. In order to improve the access speed of web pages, we can use Nginx reverse proxy caching technology to accelerate web pages. This article will introduce how to use Nginx to configure reverse proxy cache to accelerate static web pages. Nginx reverse proxy cache configuration: Install Nginx: First you need to install the Nginx server, which can be done through apt-ge

How to use NginxProxyManager to implement reverse proxy under HTTPS protocol. In recent years, with the popularity of the Internet and the diversification of application scenarios, the access methods of websites and applications have become more and more complex. In order to improve website access efficiency and security, many websites have begun to use reverse proxies to handle user requests. The reverse proxy for the HTTPS protocol plays an important role in protecting user privacy and ensuring communication security. This article will introduce how to use NginxProxy

With the continuous development of the Internet, the number of visits to the website is increasing, which also puts forward higher requirements for the performance of the website. Reverse proxy caching can improve the access speed of the website, reduce the load on the server, and provide users with a better access experience. This article will introduce how to use the Pagoda panel for reverse proxy cache configuration. 1. What is reverse proxy cache? Reverse proxy cache refers to adding a reverse proxy server between the server and the client. When the client initiates a request to the server, the request is not sent directly to the server, but is first sent to the reverse proxy server. To the agent

How to use NginxProxyManager to build an efficient reverse proxy server. With the development of the Internet, more and more network applications need to provide services through reverse proxy servers. NginxProxyManager is a powerful and easy-to-use tool that can help us quickly set up and manage a reverse proxy server. This article will introduce how to use NginxProxyManager to build an efficient reverse proxy server and give specific code examples. one
