使用IIS配置代理,转发POST和GET访问,配置IIS接口转发失效问题处理502 - Web server received an invalid response while acting as a gateway or proxy server.以及首次访问正常,刷新后页面丢失iis如何配置tryfile?
先说一下可能引发配置失败的原因:大概率是你的Application Request Routing没有配置好,或者你的正则表达没有搞好,还有是你配置以后没有重启urlwrite和IIS,往下看步骤自己对照哇~
下面先来解决两个BUG
转发失效问题处理502
- 经排查发现,如果其他服务器配置以后可以正常代理,但是某个服务器配置后出现502 - Web server received an invalid response while acting as a gateway or proxy server.
- 原因在于:win加密套件升级导致的异常,双击加密套件以后,把其他关掉,用TLS1.2就可以了,其他协议关掉。
首次访问正常,刷新后页面丢失,无法正常加载,iis如何配置tryfile?
添加下面配置到 webconfig里,配置参考:
<rule name="try files" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/项目部署根路径名/" />
</rule>
1.确保服务器已经安装IIS
2.下载URL重写工具-URL Rewrite
官方地址:https://www.iis.net/downloads/microsoft/url-rewrite
3.点击安装-接受-下一步-add
4.重新打开IIS
5.安装ARR 3.0(Application Request Routing)与配置
- 安装链接:https://www.iis.net/downloads/microsoft/application-request-routing
- 安装成功之后,重启IIS服务器。
- 在功能页面你就可以看到Application Request Routing
- 双击点击图标,进入之后,点击右边栏的Server Proxy Settings
6.新增站点,作为80端口转发访问入口
7.点击新增好的站点,配置转发
8.新增转发规则
9.测试配置的转发规则(意思就是当用户访问http://localhost:80/xiaojin/proxy,就会被转发到本地的4000端口)
^(.*?)/xiaojin/(proxy)$
10.点击右侧Apply按钮,开始测试(如果不生效,或者出现502的问题的话,重启iis且重启rewrite,如下图)
报错如下:
502 - Web server received an invalid response while acting as a gateway or proxy server.
解决如下:
11.准备一个node 服务,启动服务
12.配置案例
- 服务器IIS绑定的域名:https://aaa.com
- IIS子应用名称:proxy
- 重写配置:正则表达式模式字符
^(.*?)/?api/(.*)$
- 重写的URL配置:
https://wantGo.com/api/{R:2}
-
R2是可以根据测试得出来的
-
实际上请求的是代理的接口:https://wantGo.com/api/getList/
- 经过测试,GET和post都可以得到正常代理哦~~~~
标签:
服务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决