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

已配置HTTPS的IIS站点登录后跳转至非安全default.aspx问题求助

解决登录后跳转至HTTP页面的问题

1. 修正跳转代码的地址写法

不要使用相对路径直接跳转,改为动态生成HTTPS地址或者直接指定完整HTTPS路径:

  • 动态获取当前站点协议(适配不同环境,推荐使用):
Response.Redirect($"{Request.Url.Scheme}://{Request.Url.Host}/default.aspx");
  • 直接指定完整HTTPS地址:
Response.Redirect("https://domainname/default.aspx");

2. 在IIS中强制全站HTTPS

  • 打开IIS管理器,选中目标站点,进入SSL设置
  • 勾选「要求SSL」,客户端证书根据业务需求选择「忽略」或其他选项
  • 配置URL重写规则(需先安装URL重写模块):
    1. 进入站点的URL重写功能,添加新规则
    2. 规则命名为「HTTP转HTTPS」,匹配URL使用正则表达式(.*)
    3. 添加条件:{HTTPS}等于off
    4. 操作设置为重定向到https://{HTTP_HOST}/{R:1},重定向类型选「永久(301)」

3. 通过Web.config配置强制HTTPS

在Web.config中添加以下配置,从代码层面强制HTTPS:

  • 强制Cookie使用SSL:
<system.web>
  <httpCookies requireSSL="true" />
</system.web>
  • 添加URL重写规则(无需手动在IIS配置):
<system.webServer>
  <rewrite>
    <rules>
      <rule name="HTTP to HTTPS Redirect" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

4. 排查代码中的硬编码HTTP地址

检查项目中所有跳转、资源引用的代码,确保没有硬写http://的地址,统一使用相对路径或动态协议地址,避免触发HTTP跳转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:12:32