Cosmos-Server 使用 Let's Encrypt 通配符证书的注意事项
问题背景
在使用 Cosmos-Server 配置 HTTPS 证书时,许多用户会遇到从子域名证书迁移到通配符证书时出现的问题。特别是当尝试为多个域名配置通配符证书时,系统会报错:"Domain name is redundant with a wildcard domain in the same request"。
技术原理
Let's Encrypt 的证书签发机制有以下重要限制:
-
通配符证书的覆盖范围:一个
*.example.com的通配符证书已经包含了所有example.com的子域名,如plex.example.com、radarr.example.com等。如果同时请求通配符证书和具体的子域名证书,Let's Encrypt 会认为这是冗余请求。 -
多域名通配符限制:目前 Let's Encrypt 不允许在同一证书中包含多个通配符域名。例如,不能同时请求
*.example.com和*.other.com的通配符证书。
解决方案
单域名通配符配置
-
在 Cosmos-Server 的 Let's Encrypt 配置中:
- 启用通配符选项
- 在覆盖域名字段中只需填写
example.com,*.example.com - 不要包含任何具体的子域名
-
系统会自动识别代理设置中的所有子域名,并使用通配符证书覆盖它们。
多域名场景处理
如果需要为多个域名配置证书:
-
推荐方案:为每个域名单独配置通配符证书。Cosmos-Server 支持为不同域名配置独立的证书。
-
临时解决方案:
- 暂时将所有代理URL改为使用Cosmos根域名
- 完成证书续订
- 改回原有配置
-
高级方案:对于需要多个通配符证书的场景,目前可以通过以下方式实现:
- 使用外部工具(如Certbot)生成包含多个通配符的证书
- 将证书文件手动放置到
/var/lib/cosmos目录 - 在Cosmos-Server中引用这些证书
最佳实践建议
-
除非有特殊需求,否则不要使用"覆盖域名"选项,让Cosmos自动根据代理设置选择适当的域名。
-
规划域名结构时,尽量将服务集中在单一主域名下,减少多域名通配符的需求。
-
定期检查证书续订状态,确保没有因配置变更导致的续订失败。
-
对于复杂的多域名场景,考虑使用Cosmos-Server未来的更新版本,开发者表示将增加对多通配符证书的原生支持。
通过理解这些原理和解决方案,用户可以更有效地在Cosmos-Server中配置和管理HTTPS证书,确保服务的安全性和可用性。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0123
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00