---
title: 路线 F：Windows IIS + win-acme 教程
url: https://www.paibaowork.com/ssl/deploy/iis/
last_verified: 2026-10-12
version: v1.0
---

## 这条路适合谁

| 你的情况 | 能不能走这条路 |
|---|---|
| 网站放在 **Windows Server** 上，用 **IIS** 搭建 | ✅ 就是这条路 |
| 你能用「远程桌面（RDP）」以**管理员身份**登录这台服务器 | ✅ 就是这条路 |
| 服务器是 Windows，但网站其实是宝塔 Windows 版 / 其他面板管的 | ⚠️ 先看面板里有没有 SSL 入口，没有再用本办法 |
| 网站放在阿里云/腾讯云的 Windows 云服务器 | ✅ 同样适用（注意云安全组） |
| 网站是 Linux 服务器（Nginx / Apache） | ❌ 走〔路线 A：Linux + Certbot，规划中〕 |
| 网站建在 Shopify / Wix / WordPress.com 等平台 | ❌ 走[路线 E：SaaS 建站平台](/ssl/deploy/saas/) |

**用时**：熟练的人 10 分钟，第一次做留出 30 分钟。**难度**：★★（全程点鼠标 + 一个下载，不用敲命令）。

**这条路的核心**：用 **win-acme** 这个免费开源工具，自动向 Let's Encrypt 申请证书、自动绑定到 IIS、自动创建「计划任务」续期。**证书本身免费**，不要为「装证书」另外付钱。

![【真实截图】win-acme 官网首页（win-acme.com）](/ssl/images/guide/r15_winacme_home.png)

> [!TIP] 专业词一句话解释
> **IIS**：Windows 上负责把网页发给访客的软件（相当于 Linux 上的 Nginx）。**绑定（Bindings）**：告诉 IIS「哪个域名、哪个端口用哪个网站」，是这一章的关键概念。**ACME**：一套让程序自动申请证书的协议，Let's Encrypt 和 win-acme 都用它。**win-acme**：Windows 上最常用的免费 ACME 客户端，开源、免安装、自动续期。**计划任务（Task Scheduler）**：Windows 自带的定时器，win-acme 靠它每天检查要不要续期。

## 六步总览（先看结论）

| 步骤 | 做什么 | 成功标志 |
|---|---|---|
| 1 · 准备 | IIS 网站能用 `http://` 打开、绑定写了主机名、80/443 放行 | 浏览器能打开 `http://你的域名` |
| 2 · 下载 | 下载 win-acme 的 x64 trimmed 版，解压到固定文件夹 | `C:\Program Files\win-acme\wacs.exe` 存在 |
| 3 · 运行 | 右键「以管理员身份运行」`wacs.exe` | 出现蓝色文字主菜单 |
| 4 · 申请 | 输入 N → Read bindings from IIS → 选站点 | 显示证书申请成功、绑定已更新 |
| 5 · 验证 | 浏览器访问 `https://你的域名` | 地址栏显示安全、证书有效 |
| 6 · 收尾 | 开 HTTP→HTTPS 跳转、确认续期计划 | `http://` 自动跳到 `https://`，续期计划可见 |

## 8.1 准备（打勾再动手）

这一步全是「只看不改」，放心做。任何一项不合格，先去修，否则第 4 步一定会失败。

| # | 检查项 | 怎么查 | 合格标准 | 不合格怎么办 |
|---|---|---|---|---|
| 1 | 网站本身能用 http 打开 | 服务器上打开浏览器，访问 `http://你的域名` | 能正常显示网页 | 先把 IIS 站点配好，能访问再谈证书 |
| 2 | IIS 绑定里有主机名 | IIS 管理器 → 你的站点 → 右侧「绑定」 | 至少有一条 `http / 80 / 你的域名`（根域名和 www 各一条最稳） | 点「添加」补上主机名；主机名留空会导致 win-acme 读不到域名 |
| 3 | Windows 防火墙放行 80、443 | 「高级安全 Windows Defender 防火墙」→ 入站规则 | 有允许 TCP 80、443 的规则 | 新建入站规则放行 TCP 80、443 |
| 4 | 云安全组放行 80、443 | 云厂商控制台 → 安全组 | 入方向允许 TCP 80、443 | 加一条入方向规则；这是最常被漏掉的一步 |
| 5 | 域名解析指向这台服务器 | 浏览器打开 `https://dns.google/resolve?name=你的域名&type=A` | 返回的 IP 就是这台服务器的公网 IP | 到域名注册商改 A 记录，等生效（几分钟到几小时） |
| 6 | 能改 DNS 的 CAA 记录 | `nslookup -type=CAA 你的域名` | 没有 CAA 记录，或包含 `letsencrypt.org` | 删掉禁止 Let's Encrypt 的 CAA 记录 |
| 7 | 你有管理员权限 | 远程桌面登录时用的是管理员账号 | 能打开 IIS 管理器 | 找服务商/建站公司要管理员权限，别在聊天里发密码 |

> [!WARNING] 80 端口一定要通
> win-acme 默认用 **HTTP 验证**：Let's Encrypt 要从外网访问 `http://你的域名/.well-known/acme-challenge/...` 来确认域名是你的。**只要 80 端口被挡住、或被别的程序占用，申请就失败**。Windows 上尤其要注意：IIS 的 80 端口不能同时被别的软件（如某些面板、宝塔 Windows 版、其他 Web 服务）占着。

> [!NOTE] 域名在中国大陆服务器要先备案
> 如果服务器在中国大陆，域名必须先完成 ICP 备案；未备案的域名解析到大陆服务器，云厂商会拦截网站访问，证书验证也就到不了你的服务器（来源：阿里云帮助中心，2026-10 核对）。这种情况请先备案，或把网站放到境外服务器，不要绕过。

### 8.1.1 怎么加、怎么检查 IIS 绑定

**绑定（Bindings）**是这一章的关键：它告诉 IIS「哪个域名、哪个端口、交给哪个网站」。win-acme 的「Read bindings from IIS」就是靠它读域名的，所以绑定里**必须写主机名**。

1. 打开 **IIS 管理器**（开始菜单搜 `inetmgr`，或「服务器管理器 → 工具 → Internet Information Services (IIS) 管理器」）。
2. 左侧展开**服务器名 → 网站（Sites）**，点你的站点。
3. 右侧「操作」面板点**绑定（Bindings）**，会列出这个站点所有绑定。
4. 检查有没有这样两条（有就跳过，没有就点「添加」补）：
   - 类型 `http`、端口 `80`、主机名 `你的域名`
   - 类型 `http`、端口 `80`、主机名 `www.你的域名`
5. 添加时：类型选 `http`，IP 地址选「全部未分配」，端口填 `80`，「主机名」填你的域名（**不要留空**），确定。
6. 回到浏览器访问 `http://你的域名`，能打开说明绑定生效。

> [!WARNING] 主机名留空 = win-acme 读不到域名
> 很多人建站时把绑定的「主机名」留空（表示「这台服务器上所有域名都进这个网站」）。这样网站能打开，但 win-acme 从 IIS 读绑定时会拿不到域名，菜单里就是空的。解决办法：补一条带主机名的绑定，或在 win-acme 里改用 **Manual input** 手动输入域名。

> [!TIP] 多个站点共用 443 端口要用 SNI
> 如果这台服务器上有多个 https 站点，添加 443 绑定时要勾选「需要服务器名称指示（SNI）」，让 IIS 按域名分发证书；不勾的话第二个站点会提示端口冲突。

### 8.1.2 两道门都要放行（云安全组 + Windows 防火墙）

服务器的端口有**两道门**：云厂商控制台里的「**安全组**」（像小区大门），和 Windows 系统里的「**防火墙**」（像家门）。**两道都要放行 TCP 80 和 443**，缺一道申请就会失败。

**第一道门：云安全组。** 登录云厂商控制台（阿里云、腾讯云等）→ 找到这台服务器的安全组 → 入方向规则 → 添加 TCP 80 和 TCP 443。

![【示意图】云安全组添加 80/443 入方向规则（以阿里云 ECS 为例，菜单名称以实际控制台为准）](/ssl/images/guide/m11_secgroup.png)

**第二道门：Windows 防火墙。** 图形界面：「高级安全 Windows Defender 防火墙」→ 入站规则 → 新建规则 → 端口 → TCP → 特定本地端口 `80,443` → 允许连接。也可以在**以管理员身份运行**的 PowerShell 里一条命令搞定：

```powershell
New-NetFirewallRule -DisplayName "HTTP 80" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS 443" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
```

逐行解释：第一条放行入方向 TCP 80；第二条放行入方向 TCP 443。跑完后用 `Get-NetFirewallRule -DisplayName "HTTP 80"` 能看到刚建的规则。

**验证端口从外网能通**（在你自己电脑上，不是在服务器上）：

```powershell
Test-NetConnection 你的域名 -Port 80
```

看 `TcpTestSucceeded` 是不是 `True`；不是的话，回去检查上面两道门和域名解析。

## 8.2 下载与运行 win-acme

1. 在**服务器上**用浏览器打开 win-acme 官网 `https://www.win-acme.com`，点 **Download**。
2. 下载文件名形如 `win-acme.v2.x.x.xxxx.x64.trimmed.zip` 的版本（官方推荐大多数用户使用 **x64 trimmed** 版；`trimmed` 表示去掉了用不到的文件，功能不受影响）。
3. **解压到一个固定不动的文件夹**，官方建议 `C:\Program Files\win-acme`。**不要**放在桌面或「下载」文件夹——以后计划任务续期时可能找不到程序，续期就会静默失败。
4. 进入该文件夹，右键 `wacs.exe` → **以管理员身份运行**。不是管理员运行会读不到 IIS 绑定、也写不进证书存储。

> [!TIP] 为什么要「以管理员身份运行」
> win-acme 要读 IIS 的站点绑定、把证书写进 Windows 证书存储、再改 IIS 的绑定，还要创建计划任务——这几件事都需要管理员权限。少了权限，菜单能打开，但到绑定那一步会报错。

## 8.3 按菜单操作（全程问答式）

![【示意图】win-acme 主菜单与创建流程（菜单文字取自官方源码，终端样式模拟）](/ssl/images/guide/k01_winacme.png)

1. 主菜单出现后，输入 **N**（`Create certificate (default settings)`，用默认设置创建证书），回车。
2. 选择 **Read bindings from IIS**（从 IIS 读取绑定）——win-acme 会自动列出 IIS 里所有带主机名的网站。
3. 按提示**选择你的网站**、**选择要包含的域名**（一般根域名和 www 全选）、再**选一个主域名**（primary host）。
4. 第一次使用会让你输入**邮箱**（用于紧急通知）并**同意 Let's Encrypt 服务条款**（输入 `y`）。
5. win-acme 自动完成：**HTTP 验证 → 下载证书 → 存入 Windows 证书存储 → 自动添加/更新 IIS 的 https（443）绑定**。
6. 最后它会创建一个 **Windows 计划任务**，每天检查一次，快到期时自动续期并重新绑定。

菜单里几个选项的意思（不选错就行）：

| 菜单项 | 含义 | 你要选哪个 |
|---|---|---|
| N · Create certificate (default settings) | 用默认设置新建证书（推荐） | ✅ 第一次就选它 |
| M · Create certificate (full options) | 高级模式，参数更多 | 一般不需要 |
| R · Renew certificate | 手动立即续期一次 | 需要时用 |
| A · Manage renewals | 查看/管理已有的续期计划 | 第 6 步验证时用 |
| Read bindings from IIS | 从 IIS 自动读域名（省得手打） | ✅ 选它 |
| Manual input | 手动输入域名 | 绑定里没有主机名时才用 |

## 8.4 验证（四件事都做）

1. **浏览器访问** `https://你的域名`，点地址栏左侧图标 → 能看到「连接是安全的」「证书有效」。电脑和手机各试一次。
2. **四种网址都试**：`https://你的域名`、`https://www.你的域名`、`http://你的域名`、`http://www.你的域名`。前两个应正常，后两个应**自动跳到 https**（跳转在第 8.5 步配置）。
3. **再看续期计划**：再次运行 `wacs.exe`，选 **A: Manage renewals**，能看到刚才创建的续期计划（含到期日）。
4. **确认计划任务**：打开「任务计划程序（Task Scheduler）」，在任务库中能看到 win-acme 创建的任务。

用 PowerShell 快速看响应头（可选）：

```powershell
curl.exe -I http://你的域名
curl.exe -I https://你的域名
```

第 1 条应返回 `301` 并带 `Location: https://...`（配好跳转后）；第 2 条应返回 `200`，且能看到证书信息。

## 8.5 开启 HTTP → HTTPS 跳转

win-acme 只管「发证书 + 绑定」，**不负责把 http 跳转到 https**。IIS 要做跳转，需要「URL 重写（URL Rewrite）」模块（来源：Microsoft Learn，2026-10 核对）。

1. 到 `https://www.iis.net/downloads/microsoft/url-rewrite` 下载并安装 **URL Rewrite** 模块（服务器上装一次即可）。
2. 打开 IIS 管理器 → 你的站点 → **URL 重写** → 右侧「添加规则」→ 选「空白规则」，或直接编辑站点的 `web.config`。
3. 把下面这段放进站点根目录的 `web.config`（若已有 `web.config`，只把 `<rewrite>` 那一段合并进去）：

```xml
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="HTTP to HTTPS redirect" 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>
  </system.webServer>
</configuration>
```

逐段解释：`match url="(.*)"` 匹配所有路径；条件 `{HTTPS}` 为 `OFF`（也就是走的 http）时才触发；动作用 **301 永久跳转** 到同一域名的 https 版本（`{HTTP_HOST}` 是访客访问的域名，`{R:1}` 是原路径）。

> [!WARNING] 源站跳转 + Cloudflare 可能死循环
> 如果域名接了 Cloudflare，Cloudflare 又用了 **Flexible（灵活）** 模式，源站再强制 https 会出现 `ERR_TOO_MANY_REDIRECTS` 无限重定向。要么把 Cloudflare 改成 **Full (strict)**，要么让 Cloudflare 的「始终使用 HTTPS」负责跳转、源站不做跳转。二选一，别两头都做。

## 8.6 确认自动续期真的有效

| 检查点 | 怎么看 | 正常的样子 |
|---|---|---|
| 续期计划存在 | `wacs.exe` → **A: Manage renewals** | 列出你的证书和到期日 |
| 计划任务存在 | 「任务计划程序」→ 任务计划程序库 | 有 win-acme 的任务，触发器是每天 |
| 到期日正常 | 浏览器点锁头 → 证书 → 有效期 | 到期日距今约 90 天（Let's Encrypt 当前有效期） |

> [!TIP] 证书会越来越短命，必须自动续期
> Let's Encrypt 现在签发 **90 天** 证书，官方计划 **2027-02-10** 起默认 **64 天**、**2028-02-16** 起 **45 天**（来源：letsencrypt.org 2025-12-02 公告）。同时 Let's Encrypt **已于 2025-06-04 停止发送到期提醒邮件**——所以「到期前记得手动续期」这条路已经走不通，必须靠 win-acme 的计划任务 + 一个外部到期监控（见[装好之后必做的 6 件事](/ssl/deploy/after-deploy/)）。

## 8.7 通配符证书与 DNS 验证（子域名很多时用）

如果这台服务器上有很多子域名（`shop.`、`m.`、`blog.`……），与其每个都单独申请，不如申请一张 `*.你的域名` 的**通配符证书**，一张覆盖所有一级子域名。

**关键限制**：通配符证书**只能用 DNS 验证**（证明你能修改域名的 DNS 记录），不能用 HTTP 验证。原因是 Let's Encrypt 要先确认你对整个域名有控制权，而不是只有某个子目录的访问权。

![【真实截图】Let's Encrypt 官方文档“验证方式（Challenge Types）”页面，介绍 HTTP-01 与 DNS-01](/ssl/images/guide/r17_le_challenge_types.png)

在 win-acme 里走 DNS 验证的要点：

1. 运行 `wacs.exe`，主菜单选 **M**（Create certificate，full options）或按向导选到「Manual input」，手动输入 `*.你的域名` 和 `你的域名`。
2. 到验证方式那一步，选 **DNS 验证**（不是默认的 http 文件验证）。
3. win-acme 会给你一条 **TXT 记录**（名字形如 `_acme-challenge.你的域名`，值是它生成的一串字符）。你要在**域名 DNS 管理后台**手动添加这条 TXT 记录。
4. 加完等 DNS 生效（几分钟），回 win-acme 回车继续，它会自己去查这条 TXT 记录，查到就签发。

> [!NOTE] 通配符证书的两个边界
> `*.你的域名` **不覆盖根域名本身**（`你的域名` 要单独写进同一张证书），也**不覆盖二级以上子域名**（`a.b.你的域名` 不在范围内）。子域名不多时，直接把每个子域名写进同一张证书更简单，不用折腾 DNS 验证。

## 8.8 用 PowerShell 核对证书和绑定

不想每次都开浏览器看，可以用两条命令快速核对（**以管理员身份运行** PowerShell）：

```powershell
Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*你的域名*" } | Format-List Subject, NotAfter, Issuer
```

逐行解释：在「本地计算机 → 个人」证书存储里，找出主题里包含你域名的证书，显示**颁发对象、到期日、颁发者**。能列出来说明证书已装进 Windows。

```powershell
Import-Module WebAdministration; Get-WebBinding -Name "你的站点名" | Select-Object protocol, bindingInformation
```

逐行解释：列出该 IIS 站点的所有绑定，`protocol` 是 `http` 还是 `https`，`bindingInformation` 里能看到端口和主机名。配好证书后，这里应该多出一条 `https`、端口 `443`、主机名为你域名的绑定。

## 常见失败与排查

| 症状 | 最可能的原因 | 解决办法 |
|---|---|---|
| 主菜单里 Read bindings from IIS 列表是空的 | IIS 绑定里没写主机名（Host name 为空） | 到 IIS 绑定里给 80 端口那条补上「主机名」，或改用 Manual input 手打域名 |
| 验证失败：连接超时 / connection refused | 80 端口被防火墙或云安全组挡住，或被别的程序占用 | 两道门（云安全组 + Windows 防火墙）都放行 TCP 80；确认没有别的软件抢 80 端口 |
| 验证失败：域名解析不到 | A 记录没指向这台服务器，或 DNS 还没生效 | 用 dns.google 查 A 记录，等生效后重试 |
| 验证失败：返回了别的页面 / 404 | 有旧的重定向规则、CDN 或反向代理把验证文件拦掉了 | 临时关掉 301 跳转和 CDN，或改用 DNS 验证 |
| 装完仍提示「不安全」 | 页面里还混着 `http://` 的图片/脚本（混合内容） | 按 F12 → Console 搜 `Mixed Content` 逐个改成 https |
| 访问 `http://` 时无限重定向 | Cloudflare Flexible 模式 + 源站强制 https 两头跳转 | Cloudflare 改 Full (strict)，或只让一头做跳转 |
| 续期失败、证书过期 | win-acme 文件夹被移动/删除，计划任务找不到程序 | 把 win-acme 放回固定文件夹（如 `C:\Program Files\win-acme`）并重建续期计划 |
| 提示 80 端口被占用 | 默认站点（Default Web Site）或其他软件抢了 80 | 在 IIS 里停掉不用的站点，或确认端口占用程序；保证你的站点独占 80 |
| 第二个 https 站点加不上 | 443 绑定没勾 SNI，端口冲突 | 添加 443 绑定时勾选「需要服务器名称指示（SNI）」 |
| 证书装好了但 IIS 没自动换 | 绑定没更新，或用了自签名证书 | 重新运行 `wacs.exe` 选 R 立即续期一次；确认绑定指向的是 Let's Encrypt 签发的证书 |
| 手机访问正常、电脑报错（或反过来） | 证书链不完整，部分设备对中间证书更敏感 | 用 SSL Labs 检测，按「Chain issues / Incomplete」处理 |
| 计划任务显示「上次运行失败」 | 任务运行时权限不足，或程序路径被改 | 确认任务以管理员/SYSTEM 运行、程序路径存在；在 win-acme 里重建续期计划 |

## 回滚怎么做

万一要退回改动之前的状态：

1. **去掉跳转**：删掉或注释 `web.config` 里的 `<rewrite>` 规则，网站回到不强制跳转的状态。
2. **去掉 https 绑定**：IIS 管理器 → 站点 → 绑定 → 删掉 443 那条（证书文件仍在证书存储里，不影响 http 访问）。
3. **停掉续期任务**：「任务计划程序」里禁用/删除 win-acme 的任务，或在 `wacs.exe` → **A: Manage renewals** 里取消续期计划。
4. **彻底移除**：删除 `C:\Program Files\win-acme` 文件夹即可（它是绿色免安装的，不写注册表核心项）。

> [!NOTE] 关于本章截图的说明
> 本章菜单文字依据 win-acme 官方文档与源码核对；由于编写环境的实验服务器是 Linux，未在 Windows Server 上实际运行截图，界面中的版本号和中间输出**以你实际看到的为准**。官网首页截图为真实截图。

## 一页速查（可打印）

| 步骤 | 做什么 | 关键操作 | 成功标志 |
|---|---|---|---|
| ① 准备 | 网站能 http 打开、绑定有主机名、80/443 放行 | IIS 管理器 → 绑定 | 浏览器能打开 `http://你的域名` |
| ② 下载 | 下 win-acme x64 trimmed 版 | 解压到 `C:\Program Files\win-acme` | `wacs.exe` 就位 |
| ③ 运行 | 管理员运行 `wacs.exe` | 右键 → 以管理员身份运行 | 出现主菜单 |
| ④ 申请 | N → Read bindings from IIS → 选站点 | 同意条款、填邮箱 | 显示申请成功、绑定已更新 |
| ⑤ 验证 | 看证书、看续期计划、看计划任务 | A: Manage renewals | 证书有效、续期计划可见 |
| ⑥ 跳转 | 装 URL Rewrite，加 301 规则 | 编辑 `web.config` | `http://` 自动跳 `https://` |
| ⑦ 监控 | 设一个到期提醒 | 外部监控服务 / 手机日历 | 到期前收到提醒 |

想省事的话，把这一页复制给 AI 智能体，让它按你的实际情况带你做；或者直接找我们做——见页面底部的终身维护服务。

## 常见问题

### Windows 服务器上装 SSL 一定要花钱买证书吗？

不需要。win-acme 向 Let's Encrypt 免费申请，浏览器一样信任，加密强度与付费证书没有区别。真正值得花钱的是「部署 + 长期维护」的服务费，而不是证书本身。有人说要收几千元给你装一张「金融级证书」，那基本是不必要的支出。

### win-acme 安全吗？会不会把我服务器的密码传出去？

win-acme 是开源的免费工具，在你自己服务器上运行，只需要能读 IIS 绑定、写证书存储和计划任务，不需要你的账号密码，也不会把私钥外传。要留意的是：证书私钥留在你服务器上，不要发给任何人；需要填邮箱时用公司邮箱即可。

### 申请时提示连接超时或验证失败，怎么办？

九成是 80 端口不通。win-acme 默认用 HTTP 验证，Let's Encrypt 要从外网访问你域名的 80 端口。请依次检查：云安全组是否放行 TCP 80、Windows 防火墙是否放行 TCP 80、80 端口有没有被别的程序占用、域名 A 记录是否指向这台服务器。四项都对还失败，临时关掉重定向规则和 CDN 再试。

### 证书会自动续期吗？我还需要做什么？

win-acme 会创建一个每天运行的 Windows 计划任务，快到期时自动续期并重新绑定 IIS，正常情况你什么都不用做。你需要做两件事：一是别移动或删除 win-acme 所在的文件夹（移动了任务就找不到程序）；二是设一个外部到期监控，因为 Let's Encrypt 已不再发送到期提醒邮件。

### 装完证书，访问 http 还能打开，需要强制跳转吗？

建议做。装了证书但没跳转，访客输 http 或点旧链接仍会走不加密的通道，浏览器也可能仍显示不安全。IIS 需要先安装 URL Rewrite 模块，再添加一条 301 跳转规则；如果域名接了 Cloudflare，也可以直接用它的「始终使用 HTTPS」，二选一即可。

### 服务器上装的是宝塔 Windows 版或其他面板，还能用 win-acme 吗？

先看面板里有没有 SSL 入口：有就优先用面板申请，更简单。面板里没有、或者面板没有接管 IIS 的网站，就按本页用 win-acme 操作。注意不要让面板和 IIS 抢同一个 80 端口，否则证书验证会失败。

## 资料来源与核实记录

| 事实 | 来源 | 核实日期 |
|---|---|---|
| win-acme 入门：Windows IIS 自动申请与续期 | https://www.win-acme.com/manual/getting-started | 2026-10-10 |
| IIS URL Rewrite 模块：创建重写规则（http 跳 https） | https://learn.microsoft.com/en-us/iis/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module | 2026-10-10 |
| IIS URL Rewrite 模块下载地址 | https://www.iis.net/downloads/microsoft/url-rewrite | 2026-10-10 |
| Let's Encrypt 验证方式（HTTP-01 / DNS-01） | https://letsencrypt.org/docs/challenge-types/ | 2026-10-10 |
| Let's Encrypt 频率限制（每域名每周 5 次签发等） | https://letsencrypt.org/docs/rate-limits/ | 2026-10-10 |
| Let's Encrypt 证书有效期将缩短至 64/45 天（公告 2025-12-02） | https://letsencrypt.org/2025/12/02/from-90-to-45 | 2026-10-10 |
| Let's Encrypt 到期提醒邮件服务已结束（源材料记为 2025-06-04 起停止） | https://letsencrypt.org/2025/06/26/expiration-notification-service-has-ended.html | 2026-10-10 |
| 未备案域名解析至中国内地服务器将被阻断 | https://help.aliyun.com/zh/icp-filing/basic-icp-service/support/for-the-record-domain-faq | 2026-10-10 |

## 更新记录

- 2026-10-12 · v1.0：上线：路线 F（Windows IIS + win-acme）单页教程，含 7 项预检、菜单逐项说明、URL Rewrite 跳转、失败排查表与一页速查。
