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

IIS URL Rewrite配置问题:跳转后保留原URL

URL Rewrite配置问题排查与修正

现有配置的错误点

  1. 无效的服务器变量{HTTPS_HOST}
    IIS中不存在{HTTPS_HOST}这个服务器变量,该条件会导致规则无法正确匹配请求,需直接移除。如果需要同时匹配HTTP和HTTPS请求,仅保留{HTTP_HOST}的条件即可——{HTTP_HOST}在两种协议下都会返回请求的主机名。

  2. Rewrite动作多余的redirectType属性
    redirectType是Redirect动作的专属配置,Rewrite动作不需要该属性,保留会导致规则逻辑异常,必须删除。

  3. 匹配规则与转发路径的冲突
    原规则match url="^(.*)$"会匹配所有请求路径,当重写到http://IP address/service时,IIS会默认将匹配到的路径追加到目标URL后,这就是地址栏出现/service(实际是页面资源请求路径错误引发的表现)的原因。

修正后的配置示例

场景1:仅根路径(http://name.domain.com)转发到目标服务

<rule name="test_rewrite" stopProcessing="true">
    <match url="^$" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^name.domain.com$" />
    </conditions>
    <action type="Rewrite" url="http://IP address/service" />
</rule>

场景2:所有请求路径都转发到目标服务对应路径(如http://name.domain.com/path → http://IP address/service/path)

<rule name="test_rewrite" stopProcessing="true">
    <match url="^(.*)$" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^name.domain.com$" />
    </conditions>
    <action type="Rewrite" url="http://IP address/service/{R:1}" />
</rule>

额外需要检查的设置

  • 确认ARR代理的出站规则未限制对目标IP地址的访问
  • 验证IIS服务器可以正常访问http://IP address/service(可在服务器上用浏览器或curl测试连通性)
  • 若使用HTTPS,需确保IIS绑定了对应的SSL证书,且目标服务的HTTPS证书可被IIS信任(若目标为HTTPS)

内容的提问来源于stack exchange,提问作者Felipe F. L. dos Santos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 23:15:33