需要设置iis反向代理的场景其实挺多的。例如websocket、Server Sent Events(SSE) 都需要反向代理。
IIS 实现反向代理功能,必须同时安装 URL Rewrite 和 Application Request Routing (ARR) 两个模块,缺一不可。
- URL Rewrite 负责:定义反向代理规则。解析传入的请求 URL,根据预定义的规则将请求重写或重定向为新的目标 URL(通常是后端服务器的 URL)。
- ARR 负责:接收 URL Rewrite 转发的请求,并将这些请求代理到后端服务器处理。
默认IIS没有这两个模块,需要自己下载安装
ARR(Application Request Routing Cache):
https://www.iis.net/downloads/microsoft/application-request-routing
URL重写:
https://www.iis.net/downloads/microsoft/url-rewrite
具体规则配置可以通过界面配置也可以直接在web.config上配置,一般来说web.config配置更直观