You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS URL Rewrite配置虚拟路径转发API时出现502错误求助

IIS URL Rewrite 502错误排查与规则修正

问题场景

两个基于.NET Framework 4.5的Web应用:前端应用和独立域名端口的后端API应用。计划通过IIS URL Rewriter实现:前端页面的jQuery请求前端域名下的/api虚拟路径,由IIS转发到后端API,避免浏览器跨域访问。现有规则触发HTTP 502错误。

现有规则问题分析

给出的规则存在重复匹配逻辑:<match url="^api/(.*)$"已经匹配了以api/开头的路径,额外添加的<conditions>检查{REQUEST_URI}属于冗余配置,可能干扰规则执行逻辑。此外,502错误通常和IIS无法正常连接后端服务、缺少必要组件(如ARR)有关。

修正后的规则

简化规则,移除冗余条件,同时添加可选的服务器变量设置确保请求正确传递到后端:

<rules>
    <rule name="Rewrite API requests" enabled="true">
        <match url="^api/(.*)$" />
        <action type="Rewrite" url="http://api.dominio.local/api/{R:1}" />
        <!-- 可选:若后端依赖主机头识别请求,添加此配置 -->
        <serverVariables>
            <set name="HTTP_HOST" value="api.dominio.local" />
        </serverVariables>
    </rule>
</rules>

关键排查步骤

  • 确认ARR组件已启用:打开IIS管理器,进入服务器节点下的「Application Request Routing Cache」,勾选「Enable proxy」选项(Rewrite到外部域名必须依赖ARR)。
  • 验证后端服务可达性:在前端服务器上,直接访问http://api.dominio.local/api/[实际API路径],确认后端能正常响应,排除网络连通、域名解析或后端服务故障。
  • 检查IIS日志:查看前端站点的IIS日志(默认路径C:\inetpub\logs\LogFiles),找到502请求的记录,日志中的sc-substatus和sc-win32-status字段会提供更具体的错误原因(如后端无响应、连接超时)。
  • 核对后端API路径:确认后端API的实际路径是否和规则中的http://api.dominio.local/api/{R:1}匹配,若后端API根路径就是域名根目录(无/api前缀),需将action URL改为http://api.dominio.local/{R:1}。
  • 检查域名解析:确保前端服务器能正确解析api.dominio.local,可临时修改C:\Windows\System32\drivers\etc\hosts文件绑定IP测试。

内容的提问来源于stack exchange,提问作者user12111434

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 12:03:34