通配符ssl证书(如.example.com)可一次性保护所有一级子域名(www、api、shop等),但不覆盖根域名example.com或二级子域(a.b.example.com);配置需确保证书文件齐全、serveralias正确设置.example.com、san包含根域、路径权限合规,并验证重启。

通配符 SSL 证书(如 *.example.com)能一次性保护主域名的所有一级子域名(www.example.com、api.example.com、shop.example.com 等),但不保护根域名 example.com 或二级子域名(如 a.b.example.com)。配置时需特别注意路径、指令和域名匹配逻辑,否则 HTTPS 会失败或浏览器报错。
证书文件准备要齐全
通配符证书在 Apache 中必须提供三类文件,缺一不可:
-
私钥文件(
.key):如example.com.key,生成 CSR 时本地保存,绝不能丢失 -
证书文件(
.crt或.pem):即公钥,通常命名为example.com.crt或cloud.tencent.com.crt -
证书链文件(
chain.crt或ca_bundle.crt):中间 CA 证书,用于构建信任链;若下载包里只有.pem文件,需手动拆分——第一段是证书,后面连续的-----BEGIN CERTIFICATE-----段落合并为链文件
建议统一存放在 /etc/ssl/cert/ 下,并设权限:
sudo chmod 600 /etc/ssl/cert/*.key sudo chmod 644 /etc/ssl/cert/*.crt
虚拟主机配置要精准对应
编辑 Apache 的 HTTPS 虚拟主机配置(如 /etc/apache2/sites-available/example-ssl.conf 或 /etc/httpd/conf.d/ssl.conf),关键点如下:
-
必须监听
*:443,且ServerName和ServerAlias明确包含通配符覆盖的典型子域名:<virtualhost> ServerName example.com ServerAlias *.example.com # 注意:ServerAlias 不支持正则,* 是通配符语法,仅匹配一级子域名</virtualhost> -
启用 SSL 并指定证书路径(路径必须与实际存放位置一致):
Apache Superset Dashboard and SQL Exploration Skill下载Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
SSLEngine on SSLCertificateFile /etc/ssl/cert/example.com.crt SSLCertificateKeyFile /etc/ssl/cert/example.com.key SSLCertificateChainFile /etc/ssl/cert/chain.crt
-
强烈建议添加 TLS 安全策略(防止降级攻击):
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384 SSLHonorCipherOrder on
根域名和多级子域名要额外处理
通配符 *.example.com 默认不生效于 example.com。若需同时保护根域名,有两种方式:
-
方案一(推荐):购买或申请含 SAN(Subject Alternative Name)的多域名证书,把
example.com和*.example.com都加进同一张证书 -
方案二:单独配置一个
ServerName example.com的虚拟主机块,复用同一套证书(只要证书本身包含该域名即可)
对 a.b.example.com 这类二级子域名,通配符无效,必须:
- 在证书中显式列出该域名(如 SAN 里加
a.b.example.com),或 - 使用另一张通配符证书
*.b.example.com,再单独配一个虚拟主机
验证与重启不能跳过
完成配置后:
- 检查语法:
sudo apachectl configtest(Ubuntu/Debian)或sudo httpd -t(CentOS/RHEL) - 重启服务:
sudo systemctl restart apache2或sudo systemctl restart httpd - 浏览器访问
https://www.example.com和https://api.example.com,确认锁图标正常、无证书警告 - 使用在线工具(如 SSL Labs)验证证书链完整性及协议支持情况
不复杂但容易忽略










