先搞清楚两个关键概念,避免走弯路:

  • 通配符证书:格式是 *.你的域名.com,一张证书能保护所有二级子域名(比如 blog.你的域名.comapi.你的域名.com 都能用)
  • 两种场景
    1. 本地测试用:不用买域名,自己签证书,浏览器 / 系统会提示 “不安全”(但开发测试足够)
    2. 公网正式用:需要真实备案域名(国内服务器必须),通过 Let's Encrypt 申请,全球浏览器信任

下面分场景给你详细步骤,保证一看就会!


一、本地测试用:5 分钟搞定(两种方法)

方法 1:Windows 自带 PowerShell 生成(零依赖)

适合不想装额外软件的同学,纯系统命令搞定。

步骤 1:以管理员身份打开 PowerShell
  • 按下 Win+X,选择 “Windows PowerShell(管理员)” 或 “终端(管理员)”
步骤 2:生成通配符自签名证书

复制粘贴下面命令(把 *.test.com 改成你想要的通配符域名,比如 *.mytest.local):

powershell

New-SelfSignedCertificate `
  -DnsName "*.test.com", "test.com" `  # 通配符+主域名,两个都要写
  -Subject "CN=测试通配符证书" `        # 证书名称,随便填
  -Type SSLServerAuthentication `       # 用于服务器HTTPS
  -KeyAlgorithm RSA `                   # 加密算法,选RSA兼容性好
  -KeyLength 2048 `                     # 密钥长度,2048足够安全
  -CertStoreLocation "Cert:\LocalMachine\My"  # 证书存到本地计算机个人存储

执行后会显示证书的 Thumbprint(一串字母数字),记下来备用。

步骤 3:导出证书(可选,用于其他程序)

如果需要在 Nginx、Apache 等软件中使用,得导出成 PFX 文件:

powershell

# 设置证书密码(自己记好)
$password = ConvertTo-SecureString -String "123456" -Force -AsPlainText

# 导出PFX文件(替换Thumbprint为你刚才得到的那串字符)
Export-PfxCertificate `
  -Cert "Cert:\LocalMachine\My\你的Thumbprint" `
  -FilePath "C:\test_wildcard.pfx" `
  -Password $password

现在 C 盘根目录就有 test_wildcard.pfx 文件了。

步骤 4:让系统信任证书(消除 “不安全” 提示)

自签名证书默认不被信任,需要手动添加到信任根:

  1. 按下 Win+R,输入 certlm.msc 打开证书管理器
  2. 展开 “个人 → 证书”,找到刚才生成的 “测试通配符证书”
  3. 右键复制,粘贴到 “受信任的根证书颁发机构 → 证书” 里

方法 2:mkcert 工具(推荐,更简单)

适合经常生成测试证书的同学,一键安装 CA,生成的证书自动被信任。

步骤 1:下载 mkcert
  1. 访问 https://github.com/FiloSottile/mkcert/releases
  2. 下载 Windows 版本(比如 mkcert-v1.4.4-windows-amd64.exe
  3. 把文件重命名为 mkcert.exe,放到 C:\Windows\System32 目录(方便全局调用)
步骤 2:安装本地 CA

以管理员身份打开命令提示符,输入:

mkcert -install

弹出提示框点 “是”,这样 mkcert 生成的证书都会被系统信任。

步骤 3:生成通配符证书

在命令提示符中输入(替换 *.test.com 为你的测试域名):

mkcert "*.test.com" "test.com"

执行后会在当前目录生成两个文件:_wildcard.test.com.pem(证书)和 _wildcard.test.com-key.pem(私钥)。


二、公网正式用:Let's Encrypt 免费通配符证书(全球信任)

Let's Encrypt 是全球知名的免费证书机构,证书有效期 90 天,支持自动续期,完全免费。Windows 上用 win-acme 工具最方便,专门为 Windows 设计,支持 IIS、Nginx 等服务器。

准备工作(必须做)

  1. 拥有一个真实域名(比如 你的域名.com,国内服务器必须备案)
  2. 能修改域名的 DNS 解析(添加 TXT 记录,用于验证域名所有权)
  3. Windows 系统(Windows 10/11 或 Windows Server 均可)
  4. 以管理员身份操作

步骤 1:下载安装 win-acme

  1. 访问 https://github.com/win-acme/win-acme/releases
  2. 下载最新版的 win-acme.v2.x.x.x.zip(比如 win-acme.v2.2.10.1204.zip
  3. 解压到 C:\win-acme 目录(路径不要有中文和空格)

步骤 2:启动 win-acme 申请证书

  1. 以管理员身份打开命令提示符,进入 win-acme 目录:
    cd C:\win-acme
    
  2. 启动工具:
    wacs.exe
    
  3. 按提示操作:
    • 选择 1. Create certificate (default settings)(创建证书,默认设置)
    • 选择 4. Manual input(手动输入域名)
    • 输入域名:*.你的域名.com,你的域名.com(通配符 + 主域名,用逗号分隔)
    • 选择验证方式:dns-01(通配符证书必须用 DNS 验证,http-01 不支持)
    • 选择 DNS 提供商(如果你的域名在阿里云、腾讯云等,选对应的;没有就选 “Manual” 手动添加 TXT 记录)

步骤 3:完成域名验证(关键步骤)

  1. win-acme 会显示需要添加的 TXT 记录(比如主机记录 _acme-challenge.你的域名.com,记录值 一串随机字符
  2. 登录你的域名注册商后台(如阿里云、腾讯云),找到 DNS 解析设置
  3. 添加一条 TXT 记录:
    • 主机记录:_acme-challenge(注意不要加域名后缀)
    • 记录类型:TXT
    • 记录值:复制 win-acme 显示的那串字符
    • TTL:默认 300 秒(5 分钟)
  4. 等待 DNS 生效(通常 5-10 分钟),然后按回车继续验证

步骤 4:证书生成与导出

验证通过后,win-acme 会自动生成证书并保存到 C:\ProgramData\win-acme\acme-v02.api.letsencrypt.org\Certificates 目录,包含:

  • 你的域名.com-chain.pfx:带完整证书链的 PFX 文件(密码为空)
  • 你的域名.com.cer:证书文件
  • 你的域名.com.key:私钥文件

步骤 5:自动续期设置(重要)

Let's Encrypt 证书有效期 90 天,win-acme 会自动创建计划任务,在证书过期前 30 天自动续期,无需手动操作。

步骤 6:部署到服务器(以 IIS 为例)

  1. 打开 IIS 管理器,找到你的网站
  2. 右键 “编辑绑定”,添加 HTTPS 绑定
  3. 端口填 443,SSL 证书选择刚生成的通配符证书
  4. 点击确定,重启网站即可

三、常见问题与注意事项(白话解答)

1. 通配符证书和普通证书有啥区别?

  • 普通证书:只能保护一个域名(如 blog.你的域名.com
  • 通配符证书:能保护所有二级子域名(如 blog.你的域名.comapi.你的域名.comadmin.你的域名.com 等),新增子域名不用重新申请

2. 为什么通配符证书必须用 DNS 验证?

Let's Encrypt 规定:通配符证书只能通过 DNS 验证(dns-01),因为只有域名所有者才能修改 DNS 记录,能证明你确实拥有这个域名。

3. 证书过期了怎么办?

  • 本地测试证书:重新生成一个就行
  • Let's Encrypt 证书:win-acme 会自动续期,前提是你的 DNS 解析设置没改,计划任务没被删除

4. 浏览器提示 “不安全” 怎么办?

  • 本地测试证书:按前面步骤把证书添加到 “受信任的根证书颁发机构”
  • 公网证书:检查证书是否过期,域名是否正确,证书链是否完整

总结

  • 本地测试用:优先选 mkcert,一键安装,自动信任,生成速度快
  • 公网正式用:选 win-acme + Let's Encrypt,全球信任,自动续期,完全免费
  • 记住:通配符证书格式是 *.你的域名.com,必须包含主域名 你的域名.com 一起申请

按照上面步骤操作,小白也能轻松搞定 Windows 下的免费通配符 SSL 证书!

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐