【服务器】IIS, http自动跳转https

一、进入iis, 选中网站,选择 "URL重写"

二、右侧点击"添加规则"

在 IIS 中实现 HTTP 自动跳转 HTTPS,最推荐且灵活的方法是使用 URL 重写模块 (URL Rewrite Module)。以下是详细的配置步骤与备选方案。

方法一:使用 URL 重写模块(推荐)

此方法支持 301/302 跳转,且能保留原始路径和参数,适用于 IIS 7 及以上版本。

1. 安装 URL 重写模块

如果 IIS 功能视图中没有"URL 重写"图标,需先安装:

2. 配置重写规则(图形界面)
  1. 打开 IIS 管理器,选中目标网站。

  2. 双击功能视图中的 URL 重写。

  3. 在右侧点击 添加规则 ,选择 空白规则。

  4. 按以下参数配置:

    • 名称 :HTTP to HTTPS Redirect(自定义)

    • 匹配 URL:

      • 请求的 URL:与模式匹配

      • 使用:正则表达式

      • 模式:(.*)

      • 忽略大小写:勾选

    • 条件:

      • 逻辑分组:全部匹配

      • 点击 添加:

        • 条件输入:{HTTPS}

        • 检查输入字符串是否:与模式匹配

        • 模式:^OFF$

        • 忽略大小写:勾选

    • 操作:

      • 操作类型:重定向

      • 重定向 URL:https://{HTTP_HOST}/{R:1}

      • 附加查询字符串:勾选

      • 重定向类型:永久(301)(推荐 SEO)或 已找到(302)(测试用)

  5. 点击 应用​ 保存。

3. 直接编辑 web.config(代码方式)

在网站根目录的 web.config文件 <system.webServer>节点下添加以下规则:

复制代码
<rewrite>
  <rules>
    <rule name="Redirect HTTP to HTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

方法二:使用 IIS 自带的 HTTP 重定向(仅限 IIS 8.5+ 且全站跳转)

如果网站不需要同时保留 HTTP 访问,且服务器为 IIS 8.5 或更高版本,可以使用此方法:

  1. 选中网站,双击 HTTP 重定向。

  2. 勾选 将请求重定向到此目标 ,输入 https://你的域名。

  3. 勾选 将所有请求重定向到确切的目标。

  4. 状态代码选择 永久(301)。

  5. 点击 应用。

注意:此方法会将所有请求(包括 HTTP 和 HTTPS)都重定向到指定的 HTTPS 地址,如果网站有多个域名绑定,需谨慎使用。

常见问题排查

  • 循环重定向 :检查 SSL 证书是否绑定正确,且 443 端口可访问。确保规则条件 {HTTPS}为 OFF时才触发。

  • 不生效 :检查是否安装了 URL 重写模块,或尝试在 IIS 中 重启网站。

相关推荐
C++ 老炮儿的技术栈30 分钟前
有符号变量与无符号变量的区别
服务器·开发语言·前端·数据结构·c++·算法·c
IT大白鼠34 分钟前
搜索系列 · 第 04 篇——部署实操:内网集群落地
运维·elasticsearch·nosql
Elastic 中国社区官方博客1 小时前
使用 Jev 作为 search reranker:基准测试与实现方法
大数据·运维·elasticsearch·全文检索
红红谈说1 小时前
浏览器自动化环境老是起不来?依赖治理与启动自检的一次复盘
运维·自动化·浏览器自动化·进程残留·环境依赖·启动自检·版本比较
程序猿老A1 小时前
阿里云linux服务器安装mysql并实现远程访问
linux·服务器·阿里云
赵民勇2 小时前
glib-compile-schemas命令详解
linux·运维
小小、码农2 小时前
〖Linux进程间通信〗IPC全家桶:匿名管道、FIFO、共享内存、消息队列与信号量一篇打通
linux·运维·服务器
阳光九叶草LXGZXJ2 小时前
达梦数据库-学习-67-SSL加密认证
linux·运维·数据库·sql·学习·ssl
掉进电商坑三年没爬出来的东叔2 小时前
2026最新:青龙面板搭建全自动薅羊毛脚本,云服务器24小时挂机教程
运维·服务器·pygame
ggaofeng2 小时前
精简版ssh(去掉认证和加密流程,更清晰的展示远程登录的底层实现)
运维·ssh