LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

[点晴永久免费OA]Windows Server 的 IIS 使用 Let's Encrypt 免费 SSL 证书启用 HTTPS 的详细教程,基于 win-acme 工具(当前最稳定且支持自动续期的方案)

admin
2025年7月31日 21:24 本文热度 117

以下是在 Windows Server 的 IIS 上使用 Let's Encrypt 免费 SSL 证书启用 HTTPS 的详细教程,基于 win-acme 工具(当前最稳定且支持自动续期的方案):

📦 一、前期准备

1、确保环境满足

  • Windows Server 2012 R2 或更高版本(支持 IIS 8+)。

  • IIS 已安装且站点正常运行(HTTP 可访问)。

  • 域名解析已指向当前服务器 IP(如 www.oa22.cn)。

2、安装必要组件

  • URL Rewrite 模块(用于 HTTP→HTTPS 重定向):
    通过 Microsoft 官方下载 安装。

  • .NET Framework 4.5+(win-acme 依赖环境)。

⬇️ 二、下载并安装 win-acme

1、下载最新版本

    • 访问 win-acme 官网,下载 win-acme.v.x.x.x.zip 并解压至服务器(如 C:\win-acme\)。

2、以管理员身份运行

    • 右键单击解压目录中的 wacs.exe → 以管理员身份运行(需权限修改 IIS 绑定)。

🔐 三、申请并安装 Let's Encrypt 证书

1、启动向导

    • 运行 wacs.exe 后按 N 创建新证书。

2、选择域名绑定方式

    • 选择 1: Single binding of an IIS site(为 IIS 中单个站点绑定)。

    • 从列表中选择你的网站(如 www.oa22.cn)。

3、域名验证方式

    • 推荐选择 2: [http-01] Create temporary file for verification(通过 HTTP 文件验证域名所有权)。

4、输入联系人邮箱

    • 用于接收证书到期提醒(如 admin@oa22.cn)。

5、同意服务条款

    • 按 Y 同意 Let's Encrypt 的服务条款。

6、自动应用证书

    • 工具会自动将证书绑定到 IIS 站点并创建 HTTPS 绑定(端口 443)。

⚙️ 四、配置 IIS 强制跳转 HTTPS

1、启用 URL 重写规则

    • 在 IIS 中选择目标站点 → 打开 “URL 重写” 模块。

2、添加重定向规则

  • 点击 “添加规则” → 选择 “空白规则”,配置如下(.xml)

  • 匹配 URL(.*)

  • 条件

  • {HTTPS} 匹配模式 ^OFF$

  • 操作类型重定向

  • 重定向 URLhttps://www.oa22.cn/{R:1}

  • 状态码301(永久重定向)

<!-- 示例:Web.config 中的规则 -->

<rule name="Force HTTPS" enabled="true">

  <match url="(.*)" />

  <conditions>

    <add input="{HTTPS}" pattern="^OFF$" />

  </conditions>

  <action type="Redirect" url="https://www.oa22.cn/{R:1}" redirectType="Permanent" />

</rule>

🔁 五、配置证书自动续期

  • 续期任务已自动创建
    win-acme 默认会添加计划任务,在证书到期前自动续签(无需手动干预)。

  • 验证任务
    打开 “任务计划程序” → 查看任务路径 \win-acme → 确保状态为 “就绪”

✔️ 六、验证 HTTPS 访问

1、浏览器测试

访问 https://www.oa22.cn,确认地址栏显示 🔒 锁图标(无警告)。

2、SSL 证书检测

使用 SSL Labs 测试工具 扫描域名,检查评级是否为 A 或 A+

⚠️ 常见问题解决

  • 证书绑定失败:检查 IIS 站点绑定中是否已存在 HTTPS 绑定(删除冲突绑定)。

  • HTTP 验证失败:确保网站根目录(如 C:\inetpub\wwwroot)有写入权限,或手动创建验证文件。

  • 防火墙阻塞:开放服务器 80(HTTP 验证) 和 443(HTTPS) 端口。

💎 总结

通过 win-acme 工具,Let's Encrypt 证书的申请、安装、续期均可自动化完成,全程约 5 分钟。此方案无需购买证书、支持通配符(需 DNS 验证),且符合主流浏览器信任标准。若需进一步优化(如 HSTS 配置),可参考 win-acme 官方文档


该文章在 2025/7/31 21:27:34 编辑过

全部评论1

admin
2025年7月31日 21:37

如果这个网站有多个域名,可以按照以下方法设置多域名https访问支持。

​为你的多域名网站配置HTTPS访问,本质是让多个域名共享同一个站点内容并支持HTTPS协议。以下是三种可行方案(按推荐度排序),均基于你已有的SSL证书(需覆盖所有域名):

🔧 方案一:修改IIS配置文件添加主机头绑定(适用IIS 7/8/10,推荐首选)

这是最稳定的方法,通过直接修改IIS核心配置文件,为每个域名添加独立的HTTPS绑定。

操作步骤

1、定位配置文件

打开路径 C:\Windows\System32\inetsrv\config\applicationHost.config

⚠️ 备份此文件(复制到桌面再编辑),避免误操作导致IIS崩溃。

2、编辑站点绑定配置

在文件中搜索你的站点名称(如 name="Default Web Site"),找到 <bindings> 节点。

在现有HTTP绑定的基础上,为每个域名添加一行HTTPS绑定,例如:

<bindings>

  <!-- 原有HTTP绑定 -->

  <binding protocol="http" bindingInformation="*:80:" /> 

  <!-- 新增HTTPS绑定(每个域名一行) -->

  <binding protocol="https" bindingInformation="*:443:www.domain1.com" />

  <binding protocol="https" bindingInformation="*:443:www.domain2.com" />

  <binding protocol="https" bindingInformation="*:443:www.domain3.com" />

</bindings>

  • 将 www.domain1.com 等替换为你的实际域名。

3、覆盖配置文件并刷新IIS

将修改后的文件覆盖回原路径,在IIS管理器中右键站点 → 选择“重新启动”(仅重启站点,勿重启整个IIS服务)。

注意事项

  • 证书匹配:确保你的SSL证书覆盖所有域名(如多域名证书/SAN证书或通配符证书)。

  • 端口冲突:若其他站点已占用443端口,需先解除冲突。

🌐 方案二:使用通配符证书 + 主机头绑定(适合拥有 *.example.com 证书)

若你的域名属于同一主域(如 a.example.comb.example.com),且持有通配符证书(*.example.com),可简化操作:

1、导入通配符证书

通过IIS管理器或MMC控制台导入证书。

2、绑定证书时启用主机名

  • IIS 8+:直接在绑定界面输入主机名(如 a.example.com)。

  • IIS 7:需修改证书“友好名称”为 *.example.com,欺骗IIS识别为通配符证书,即可解锁主机名输入框。

3、为每个域名重复绑定操作

在同一个站点下添加多条HTTPS绑定,每条对应一个子域名。

⌨️ 方案三:命令行添加主机头绑定(适合批量操作或脚本管理)

通过IIS管理脚本 adsutil.vbs 动态添加绑定,无需编辑配置文件:

1、查询站点标识符

打开IIS → 点击站点 → 右侧“高级设置” → 记录标识符

2、执行绑定命令

以管理员身份运行CMD,执行(替换 [站点ID] 和 [域名]):

cscript C:\inetpub\AdminScripts\adsutil.vbs set /w3svc/[站点ID]/SecureBindings ":443:[域名]"

示例

cscript C:\inetpub\AdminScripts\adsutil.vbs set /w3svc/3/SecureBindings ":443:www.domain1.com"

cscript C:\inetpub\AdminScripts\adsutil.vbs set /w3svc/3/SecureBindings ":443:www.domain2.com"

3、重启站点生效

在IIS中重启站点即可。

⚠️ 关键注意事项

1、证书有效性

    • 若证书不包含某域名,用户访问时将看到证书错误警告(即使配置正确)。

    • 解决方案:申请覆盖所有域名的多域名证书(SAN证书)或通配符证书

2、​IIS版本差异

    • IIS 7:必须通过修改配置或命令行添加主机头(界面不支持)。

    • IIS 8+:支持SNI(Server Name Indication),可直接在绑定界面输入主机名。

3、避免配置覆盖

  • 切勿重启IIS服务iisreset)!仅重启站点。否则可能重置 applicationHost.config 文件。

💎 最终建议

  • 首选方案一(修改配置文件):稳定可靠,一次配置永久生效,适合任何IIS版本。

  • 若域名变更频繁 → 用方案三(命令行脚本),便于批量管理。

  • 升级到IIS 8+并购买通配符证书 → 长期维护成本最低。

执行后,使用 https://每个域名 测试访问,若遇证书错误,检查证书覆盖范围;若访问失败,检查防火墙是否开放443端口。


该评论在 2025/7/31 21:45:47 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved