首页
/ Cosmos-Server 使用 Let's Encrypt 通配符证书的注意事项

Cosmos-Server 使用 Let's Encrypt 通配符证书的注意事项

2025-06-13 05:46:02作者:翟萌耘Ralph

问题背景

在使用 Cosmos-Server 配置 HTTPS 证书时,许多用户会遇到从子域名证书迁移到通配符证书时出现的问题。特别是当尝试为多个域名配置通配符证书时,系统会报错:"Domain name is redundant with a wildcard domain in the same request"。

技术原理

Let's Encrypt 的证书签发机制有以下重要限制:

  1. 通配符证书的覆盖范围:一个 *.example.com 的通配符证书已经包含了所有 example.com 的子域名,如 plex.example.comradarr.example.com 等。如果同时请求通配符证书和具体的子域名证书,Let's Encrypt 会认为这是冗余请求。

  2. 多域名通配符限制:目前 Let's Encrypt 不允许在同一证书中包含多个通配符域名。例如,不能同时请求 *.example.com*.other.com 的通配符证书。

解决方案

单域名通配符配置

  1. 在 Cosmos-Server 的 Let's Encrypt 配置中:

    • 启用通配符选项
    • 在覆盖域名字段中只需填写 example.com,*.example.com
    • 不要包含任何具体的子域名
  2. 系统会自动识别代理设置中的所有子域名,并使用通配符证书覆盖它们。

多域名场景处理

如果需要为多个域名配置证书:

  1. 推荐方案:为每个域名单独配置通配符证书。Cosmos-Server 支持为不同域名配置独立的证书。

  2. 临时解决方案

    • 暂时将所有代理URL改为使用Cosmos根域名
    • 完成证书续订
    • 改回原有配置
  3. 高级方案:对于需要多个通配符证书的场景,目前可以通过以下方式实现:

    • 使用外部工具(如Certbot)生成包含多个通配符的证书
    • 将证书文件手动放置到 /var/lib/cosmos 目录
    • 在Cosmos-Server中引用这些证书

最佳实践建议

  1. 除非有特殊需求,否则不要使用"覆盖域名"选项,让Cosmos自动根据代理设置选择适当的域名。

  2. 规划域名结构时,尽量将服务集中在单一主域名下,减少多域名通配符的需求。

  3. 定期检查证书续订状态,确保没有因配置变更导致的续订失败。

  4. 对于复杂的多域名场景,考虑使用Cosmos-Server未来的更新版本,开发者表示将增加对多通配符证书的原生支持。

通过理解这些原理和解决方案,用户可以更有效地在Cosmos-Server中配置和管理HTTPS证书,确保服务的安全性和可用性。

登录后查看全文
热门项目推荐
相关项目推荐