IIS10 前端服务器,设置代理实现跨域请求后端接口
MarkLin 2021-09-09 IIS
# IIS10 前端服务器,设置代理实现跨域请求后端接口
前端服务器,大多数使用Nginx,但也有使用IIS的需求,这里就写一下使用IIS作为web服务器时,项目有多个后端接口地址,并非同IIS在一台服务器上,反向代理到后端接口地址实现请求。
# 需求示例:
访问 http://localhost:8001/api/list ,匹配 /api/list
,将带有/api/list
的地址代理到 http://localhost:8002/api/list
# 原请求地址
http://localhost:8001/api/list
# 实际访问地址
http://localhost:8002/api/list
1
2
3
4
5
2
3
4
5
# 一、安装ARR(Application Request Routing)、URL Rewriter组件
访问 IIS 官方网站:https://www.iis.net/downloads/microsoft/application-request-routing (opens new window) ,下载包安装或者通过 IIS管理器的Web 平台安装程序(Web Platform Installer):直接点击 “Install this extension” 按钮即可。
# 二、配置ARR
安装成功后,回到IIS管理器主页,双击Application Request Routing Cache
进入配置
点击右侧服务器代理设置
勾选启用代理,然后应用
配置 URL重写,对URL进行过滤,将不同的访问请求(根据URL(DNS中的配置)进行过滤)定向到相应的站点
进入 URL 重写(URL Rewrite),点击“添加规则”。
进入添加规则弹窗,点击“空白规则”。
配置规则:
# 模式(T)
^(.*?)/?api/(.*)$
# 重写 URL(L)
http://localhost:8002/{R:0}
1
2
3
4
5
6
2
3
4
5
6
该设置为将 8001 端口的前端服务器,访问路径中包括 /api/ 的请求,代理到 8002 端口的后端服务器。
实现效果:前端请求 http://localhost:8001/api/list ,实际请求为http://localhost:8002/api/list
至此代理配置完成!
# 顺带解决一下刷新后404问题
主要也是添加一个规则,在进入URL重写界面,点击添加规则,按下面步骤操作及填写即可。