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

IIS本地站点重定向异常:HTTP转HTTPS及端口丢失的解决

问题解决:IIS重定向时HTTP转HTTPS且丢失端口的修复方案

核心问题分析

你遇到的问题主要来自两个关键点:

  1. 301永久重定向的浏览器缓存:配置中使用redirectType="Permanent"会让浏览器长期缓存重定向规则,哪怕你修改了配置,旧缓存依然会生效。
  2. 冗余规则干扰+目标站点强制HTTPS设置:当前规则里的<conditions>块完全多余,若testsite2自身配置了强制HTTPS的重定向,会覆盖从testsite1发起的HTTP跳转请求。

修复步骤

1. 排除浏览器缓存影响

直接按Ctrl+Shift+Delete清除浏览器的“缓存的图片和文件”“Cookie和网站数据”,或者用隐私/无痕窗口访问http://www.testsite1.com:5005,避免旧缓存干扰测试。

2. 简化并修正testsite1的web.config配置

删除冗余条件,明确指定重定向的协议和端口,修改后的配置如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>  
<system.webServer>
<rewrite>
    <rules>
        <rule name="Redirect to testsite2" stopProcessing="true">
            <match url=".*" ignoreCase="true" />
            <action type="Redirect" url="http://www.testsite2.com:5006/{R:0}" appendQueryString="true" redirectType="Temporary" />
        </rule>
    </rules>
</rewrite>
</system.webServer>
</configuration>
  • 改动说明:
    • 移除无用的<conditions>块,避免规则逻辑混乱
    • 将redirectType改为Temporary(302临时重定向),防止浏览器长期缓存错误规则,确认生效后可改回Permanent(301)
    • 添加/{R:0}可完整传递原请求的路径和参数(比如原请求http://www.testsite1.com:5005/page1?a=1会跳转到http://www.testsite2.com:5006/page1?a=1)

3. 检查testsite2的站点配置

确保testsite2没有强制HTTPS的设置:

  • 打开IIS管理器,进入testsite2的「URL重写」模块,若存在HTTP转HTTPS的规则,暂时禁用或删除
  • 检查站点绑定,确认只绑定了http://www.testsite2.com:5006,无额外HTTPS绑定(浏览器可能自动优先跳转HTTPS)

4. 验证配置

保存修改后的web.config,重启testsite1站点,用隐私窗口访问http://www.testsite1.com:5005,确认跳转目标为http://www.testsite2.com:5006。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:45:38