IIS配置HTTPS教程:申请Let’s Encrypt免费SSL证书并强制HTTP跳转

Windows IIS配置HTTPS教程

本文详细介绍如何在Windows IIS服务器上:

  • 申请 Let’s Encrypt 免费 SSL 证书
  • 自动绑定到 IIS 网站
  • 使用 URL Rewrite 模块实现 HTTP → HTTPS 强制跳转

适合单机 IIS 环境,操作简单,步骤清晰。


一、前提条件

  • 服务器:Windows + IIS
  • 域名已解析到服务器公网 IP
  • 80 端口可访问(HTTP)
  • IIS 已绑定网站和域名
  • 已安装 IIS URL Rewrite 模块(用于 HTTP → HTTPS 跳转)

⚠️ 如果使用 CDN 或负载均衡,需要在平台上传证书或配置 HTTPS,本教程针对直连服务器单机 IIS。


二、准备工具

  • 证书颁发机构:Let’s Encrypt(免费、受信任)
  • Windows 自动工具win-acme 官网

win-acme官网截图


三、申请 HTTPS 证书(单网站)

  1. 下载 win-acme → 解压到服务器,例如 C:\win-acme
  2. 以管理员身份运行 wacs.exe
  3. 选择 N → Create new certificate

创建新证书

  1. 选择 Single binding of an IIS site → 选择你的站点(例如 www.clipflow.top
    • 注意:必须绑定正确解析的域名
  2. 选择绑定(一般是域名) → 回车确认
  3. 同意 Let’s Encrypt 服务条款 → 填写通知邮箱
  4. 选择验证方式 http-01(通过 80 端口验证域名)
  5. 选择安装方式 IIS(自动绑定证书到 443)

✅ 完成后:

  • IIS 自动增加 443 + HTTPS 绑定
  • win-acme 自动创建计划任务,证书到期前会自动续期
  • 浏览器访问 https://www.clipflow.top 应显示 🔒 小锁

💡 多个网站可重复运行 wacs.exe 为其他网站申请证书
💡 同一站点绑定多个域名,可一次性申请多域名证书(SAN证书)


四、IIS URL Rewrite 强制 HTTP → HTTPS

  1. 打开 IIS 管理器 → 选择网站 → URL Rewrite → Add Rules… → Blank Rule(空白规则)

URL Rewrite 空白规则

  1. 设置规则:
  • Name: RedirectToHTTPS
  • Requested URL: Matches the Pattern (与模式匹配)
  • Using: Regular Expressions (正则表达式)
  • Pattern: (.*)

匹配规则

  1. 添加条件:
  • Condition input: {HTTPS}
  • Check if input string: Matches the Pattern (与模式匹配)
  • Pattern: ^OFF$

条件设置

  1. 设置操作(Action):
  • Action type: Redirect(重定向)
  • Redirect URL: https://{HTTP_HOST}/{R:1}
  • Redirect type: Permanent (301)

重定向设置

说明:

  • {HTTPS} = OFF → 只匹配 HTTP 请求
  • (.*) + {R:1} → 保留原 URL 路径和参数
  • {HTTP_HOST} → 保留访问域名
  1. 点击 Apply 保存,测试访问:

http://www.clipflow.top/

→ 自动跳转到:

https://www.clipflow.top/


五、维护与续期

  • win-acme 已自动创建 Windows 计划任务
  • 证书到期前自动续期并更新 IIS
  • 无需人工干预

六、注意事项 & 提示

  • 每个网站需要单独申请证书,绑定多个域名可生成 SAN 证书
  • 邮箱可重复使用,用于接收证书到期或异常通知
  • 确保 80 和 443 端口开放
  • 强制 HTTPS 跳转可保证访问安全,并统一网站入口