使用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)与配置

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}

  • 经过测试,GET和post都可以得到正常代理哦~~~~

posted @ 2022-05-23 23:59  糖~豆豆  阅读(722)  评论(0编辑  收藏  举报
Live2D