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

URL Rewrite Module 2.1下HTTP转HTTPS失效求助(Angular+IIS10)

URL Rewrite 2.1升级后HTTP转HTTPS重定向失效的解决方案

很多用户都遇到过升级URL Rewrite Module到2.1版本后,原本正常的HTTP转HTTPS重定向规则失效的问题,尤其是在IIS 10环境下部署Angular应用的场景。针对你的情况,以下是几个经过验证的解决思路:

1. 修正{HTTPS}变量的匹配逻辑

URL Rewrite 2.1对{HTTPS}变量的返回值存在大小写兼容变化,部分场景下它会返回小写的off而非之前的大写OFF。你可以给匹配规则添加忽略大小写的配置:

<add input="{HTTPS}" pattern="^OFF$" ignoreCase="true" />

2. 补充多条件判断提升兼容性

部分环境中,升级后的模块可能无法准确识别{HTTPS}变量,可搭配{SERVER_PORT_SECURE}变量做双重判断:

<conditions logicalGrouping="MatchAny">
    <add input="{HTTPS}" pattern="^OFF$" ignoreCase="true" />
    <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
</conditions>

3. 排查Angular路由规则冲突

如果你的web.config中包含Angular SPA的路由重写规则,需要确保HTTPS重定向规则的优先级更高——将它放在所有路由规则的最前面,避免被其他规则提前拦截处理。

4. 验证模块状态与规则加载

  • 打开IIS管理器,确认URL Rewrite 2.1模块已正确安装并启用
  • 进入站点的「URL重写」界面,检查你的重定向规则是否被正常加载,必要时可以删除规则后重新创建或导入

修改后的完整web.config示例:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <requestFiltering>
                <fileExtensions applyToWebDAV="false">
                    <add fileExtension=".pdf" allowed="true" />
                </fileExtensions>
            </requestFiltering>
        </security>
        <directoryBrowse enabled="true" />
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Credentials" value="true" />
                <add name="Access-Control-Allow-Headers" value="Content-Type" />
                <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
                <add name="Access-Control-Allow-Origin" value="*" />
            </customHeaders>
        </httpProtocol>
        <rewrite>
            <rules>
                <rule name="redirect" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{HTTPS}" pattern="^OFF$" ignoreCase="true" />
                        <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
                </rule>
                <!-- 若有Angular SPA路由规则,放在此处 -->
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 09:40:25