Forum Discussion
ARR 3.0 Route to Server Farm Missing
I am encountering a persistent and frustrating issue with Application Request Routing (ARR) 3.0 on my Windows system (details below). I have successfully installed ARR 3.0, but the crucial "Route to Server Farm..." option is consistently missing from the "Action type:" dropdown when I edit or create a URL Rewrite rule in IIS Manager. I have spent a significant amount of time troubleshooting this, and I am hoping someone with more experience might be able to shed some light on what I am missing or what might be going wrong.
Here is a detailed breakdown of my situation and the steps I have taken:
System Information:
Operating System: Windows 10 Pro 64-bit
IIS Version: 10.0.19041.1
Problem Description:
The "Route to Server Farm..." option is not present in the "Action type:" dropdown when configuring the "Action" of a URL Rewrite rule for my "Default Web Site" (and any other site I've tested).
My goal is to use ARR as a reverse proxy to forward requests to a backend Nginx server (running on the same machine or a different one - please specify if relevant). I have created a Server Farm named "NginxFarm" (or whatever you named it) in IIS Manager.
3. Steps Taken So Far (in chronological order as best as I can recall):
Initial ARR Installation: I downloaded and successfully ran the ARR 3.0 installer (requestRouter_amd64 (1).exe). The installation completed without any apparent errors.
Verification of Modules: In IIS Manager, at the server level, under "Modules," I can see "ApplicationRequestRouting" listed with "Module Type: Native" and "Enabled: True". However, "RequestRouter" was initially missing.
Manual Registration Attempts:
I tried to register RequestRouter.dll (located in C:\Program Files (x86)\IIS\Application Request Routing\) using regsvr32, but it reported that the entry-point DllRegisterServer was not found.
I tried using iisreg.exe (from C:\Windows\System32\inetsrv\) to register RequestRouter.dll, but the command was not recognized.
I looked for gacutil.exe to register the DLL in the Global Assembly Cache but could not find it (Windows SDK is not installed).
Manual Module Addition (Server Level Configuration Editor):
I used the Configuration Editor at the server level to navigate to system.webServer -> modules.
I found "ApplicationRequestRouting" listed, but the "type" attribute was empty. I set it to Microsoft.Web.Arr.ApplicationRequestRoutingModule, Microsoft.Web.Arr.
"RequestRouter" was missing, so I added a new module with the name "RequestRouter" and the type Microsoft.Web.Arr.RequestRouterModule, Microsoft.Web.Arr.
I applied these changes and restarted the entire computer.
Checking "Configure Native Modules..." (Default Web Site): I checked the "Configure Native Modules..." option for my "Default Web Site" under "Modules," but "RequestRouter" was not listed there.
Examination of applicationHost.config:
I located C:\Windows\System32\inetsrv\config\applicationHost.config and made a backup.
In the <globalModules> section, I found entries for ARRHelper, RequestRouter (pointing to C:\Program Files (x86)\IIS\Application Request Routing\requestRouter.dll), and ApplicationRequestRouting (which I changed to also point to C:\Program Files (x86)\IIS\Application Request Routing\requestRouter.dll to ensure consistency).
The <modules> section within <system.webServer> at the server level now correctly lists ApplicationRequestRouting and RequestRouter with the type attributes set.
IIS Logs: I examined the IIS logs in %SystemDrive%\inetpub\logs\LogFiles\ but did not find any specific errors related to the loading or initialization of the ARR modules. The logs primarily show 404 errors for the root and favicon.ico.
Full System Restarts: I have restarted my computer multiple times after installing ARR and making configuration changes.
Clean Re-installation of ARR 3.0: I uninstalled ARR 3.0 through "Programs and Features," restarted my computer, re-downloaded and re-installed ARR 3.0 as administrator, and restarted again. The issue persists.
Server Level Rewrite Configuration: I checked system.webServer -> rewrite -> providers and rules at the server level in the Configuration Editor, and both had zero items.
4. Current Status:
"ApplicationRequestRouting" is listed as a Native module and enabled at the server level.
"RequestRouter" is listed as a Native module with the correct type at the server level.
Neither "RequestRouter" nor "ApplicationRequestRouting" appears in the "Configure Native Modules..." list for the "Default Web Site".
The "Route to Server Farm..." option is still missing from the "Action type:" dropdown in the URL Rewrite rule editor.
5. Questions for the Community:
Has anyone else encountered this specific issue with ARR 3.0 on a similar system configuration?
Are there any known compatibility issues between ARR 3.0 and specific versions of Windows or other IIS components?
Are there any prerequisites for ARR 3.0 that might not be obvious or automatically installed?
Are there any specific IIS features that need to be enabled for "Route to Server Farm..." to appear? (I have the core Web Server role and Management Tools installed).
Could there be an issue with the permissions on the ARR installation directories or the DLL files?
Are there any specific entries I should be looking for in the Windows Event Viewer (Application or System logs) that might indicate a problem with ARR?
Is there a specific order in which ARR components need to be installed or configured?
Are there any alternative methods to enable or verify the functionality of the RequestRouter module?
I am at a loss and would greatly appreciate any guidance or suggestions you might have. Thank you in advance for your time and assistance.