背景

这次用 IIS 搭了两个站点:

  • 主站 go.cuberliu.xyz,一个静态页面
  • 资源站 res.go.cuberliu.xyz(下期再写)

两个站点共用一张 Let’s Encrypt 通配符证书,覆盖 *.go.cuberliu.xyz

IIS 绑定主机头

在 IIS 里添加两个网站,端口都用 80,主机头分别填 go.cuberliu.xyzres.go.cuberliu.xyz。IP 地址选“全部未分配”,靠主机头区分访问。

SSL 证书:win-acme + 阿里云 DNS

通配符证书必须走 DNS 验证,不能用 HTTP 验证。这里用 win-acme,配合阿里云 DNS 插件。

下载 win-acme.v2.2.9.1701.x64.pluggable.zip,解压到 D:\app_file\win-acme

把阿里云插件 plugin.validation.dns.aliyun.v2.2.9.1701.zip 解压,里面的 wacs.plugin.validation.dns.aliyun.dll 放到 win-acme 目录。

运行 wacs.exe,选 M(完整选项),手动输入域名:
go.cuberliu.xyz,*.go.cuberliu.xyz

验证方式选 6(阿里云 DNS),输入 AccessKey ID 和 Secret,保存凭据。

密钥类型选 2(RSA),存储选 4(Windows 证书存储区),然后选 1(WebHosting/IIS)。

安装步骤选 1(绑定到 IIS),选择站点。

填邮箱,同意条款,创建自动续期任务。

报错

Failed to create order

删掉 C:\ProgramData\win-acme\acme-v02.api.letsencrypt.org\ 目录重新跑。

主站页面

主站 go.cuberliu.xyz 是一个静态 HTML 页面,包含:

  • 粒子背景,鼠标移动有交互
  • 打字机效果,循环显示文案
  • 右上角按钮切换暗色/亮色模式
  • 链接区指向资源站、博客、云盘、GitHub

编码问题

浏览器打开 .txt 文件中文乱码。在 web.config 里给 .txt 指定 MIME 类型并带上 charset:

1
2
<remove fileExtension=".txt" />
<mimeMap fileExtension=".txt" mimeType="text/plain; charset=utf-8" />

最终效果

go.cuberliu.xyz
res.go.cuberliu.xyz

  • 主站 HTTPS 正常,绿锁
  • 证书自动续期
  • .txt 中文正常显示

好的,以下是博客文章中涉及的几个主要文件的下载链接。

📦 主要文件下载链接

  • win-acme 主程序 (pluggable 版本): 这是支持插件的完整版本,必须使用此版本才能加载阿里云 DNS 插件。

  • 阿里云 DNS 验证插件: 用于在阿里云 DNS 上自动添加 TXT 验证记录。

    • 文件名plugin.validation.dns.aliyun.v2.2.9.1701.zip
    • GitHub 下载
    • 该插件需要搭配上面的 pluggable 版本主程序使用。

你可以直接访问 win-acme 在 GitHub 上的 Releases 页面,查找并下载上述两个文件。


下一篇:资源站 res.go.cuberliu.xyz 的目录浏览美化。