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

IIS 10中ASP.NET Web应用保留旧URL重定向至HTTPS新端口

实现IIS中指定Web Forms应用的HTTP到HTTPS自定义端口重定向

前置条件

  • 已安装IIS URL Rewrite模块
  • 已创建「New Site」并绑定HTTPS 9443端口,且WebAppDemo应用已部署到该站点下
  • 原「Default Web Site」下的WebAppDemo应用仍保留HTTP 80端口绑定

配置步骤(应用级别URL Rewrite规则)

因为要仅针对WebAppDemo应用生效,我们直接在该应用级别配置重定向规则,而非站点级别:

  1. 打开IIS管理器,定位到「Default Web Site」下的WebAppDemo应用
  2. 右侧功能视图中找到并打开「URL Rewrite」
  3. 点击右侧「添加规则」,选择「空白规则」,点击「确定」

规则配置细节

1. 匹配URL

  • 匹配类型:正则表达式
  • 模式:(.*)
  • 忽略大小写:勾选

2. 条件(添加2条条件)

点击「添加」按钮,依次配置:

  • 第一条条件:
    • 输入:{HTTPS}
    • 匹配类型:与模式匹配
    • 模式:^OFF$
    • 忽略大小写:勾选
  • 第二条条件:
    • 输入:{HTTP_HOST}
    • 匹配类型:与模式匹配
    • 模式:^webappdemo\.domain\.com$|^dev-abc-xyz\.myorg\.com$
    • 忽略大小写:勾选
      (注:多个需要支持的域名用|分隔)

3. 操作

  • 操作类型:重定向
  • 重定向URL:https://{HTTP_HOST}:9443/WebAppDemo/{R:1}
  • 重定向类型:永久(301) 或 临时(302),根据业务需求选择
  • 勾选「追加查询字符串」
  • 取消勾选「重定向所有请求到Exact目标」

直接修改Web.config配置(可选)

如果更习惯直接编辑配置文件,可打开原WebAppDemo应用根目录下的web.config,在<system.webServer>节点内添加以下规则:

<rewrite>
  <rules>
    <rule name="Redirect WebAppDemo to HTTPS 9443" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{HTTPS}" pattern="^OFF$" />
        <add input="{HTTP_HOST}" pattern="^webappdemo\.domain\.com$|^dev-abc-xyz\.myorg\.com$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}:9443/WebAppDemo/{R:1}" redirectType="Permanent" appendQueryString="true" />
    </rule>
  </rules>
</rewrite>

验证要点

  • 访问旧URL http://webappdemo.domain.com/Default.aspx,应自动跳转到https://webappdemo.domain.com:9443/WebAppDemo/Default.aspx
  • 访问带路径的URL如http://dev-abc-xyz.myorg.com/WebAppDemo/Page1.aspx?id=123,应跳转到https://dev-abc-xyz.myorg.com:9443/WebAppDemo/Page1.aspx?id=123
  • 确认「Default Web Site」下的其他应用不受该规则影响

内容的提问来源于stack exchange,提问作者Tech with Thiru

相关产品推荐
方舟 Agent Plan

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

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