支持。多域名证书(SAN 证书)和通配符证书并不是互斥的,它们完全可以结合使用,形成“多域名 + 通配符”混合证书。

在实际申请和配置时,您可以将具体的独立域名与通配符域名组合在一张证书中。例如,您可以同时申请 example.com、api.example.com 以及 .example.com 这三个条目。这样,这张证书不仅能保护这两个具体域名,还能保护 .example.com 匹配到的所有同级子域名(如 blog.example.com、shop.example.com)。

⚠️ 核心限制与注意事项:

通配符的层级限制:通配符 只能匹配当前层级的子域名。例如,.example.com 可以匹配 a.example.com,但无法匹配 b.a.example.com(跨级匹配)。如果需要保护多级子域名,必须单独申请对应的证书。
根域名需单独添加:通配符 .example.com 默认不包含根域名 example.com 本身。因此,在配置 Nginx 的 server_name 时,必须将根域名和通配符同时写入(例如:server_name example.com .example.com;),否则访问根域名时会提示证书不匹配。
DNS 验证要求:由于通配符证书无法通过常规的 HTTP 文件验证方式(HTTP-01)来证明您对域名的控制权,因此申请包含通配符的证书时,必须使用 DNS 验证方式(DNS-01)。这意味着您需要登录域名解析服务商的控制台,手动添加特定的 TXT 记录来验证所有权。

在 Nginx 中配置多域名证书,通常有两种常见的业务场景。您可以根据实际需求选择对应的配置方案:

场景一:多个域名使用各自独立的证书(基于 SNI 匹配)
如果您的服务器托管了多个不同的网站,且每个网站都有自己专属的 SSL 证书,核心思路是为每个域名划分独立的 server 块。Nginx 不支持在同一个 server 块内根据 $host 动态切换证书,必须让 Nginx 在 TLS 握手阶段,依据客户端发出的 SNI(Server Name Indication)信息精准返回对应域名的证书。

配置示例:
域名 A 的独立配置
server {

listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
# ... 其他网站配置

}

域名 B 的独立配置
server {

listen 443 ssl;
server_name blog.example.com;
ssl_certificate /etc/nginx/ssl/blog.example.com.crt;
ssl_certificate_key /etc/nginx/ssl/blog.example.com.key;
# ... 其他网站配置

}
注:如果使用的是宝塔面板等可视化工具,由于面板默认只允许上传一份证书,您需要手动进入“站点配置”中,复制一份 server 块,修改 server_name 并指向另一个域名的证书路径,最后重启 Nginx。

场景二:多个域名共用一张多域名证书(SAN 证书)
如果您申请的是 SAN(Subject Alternative Name)多域名证书或通配符证书(如 *.example.com),则只需要在对应的 server 块中引用这一份证书即可。

配置示例:
server {

listen 443 ssl;
# 在 server_name 中列出所有需要保护的域名
server_name example.com www.example.com api.example.com;

# 统一指向多域名证书
ssl_certificate /etc/nginx/ssl/example_san_fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/example_san.key;
# ... 其他网站配置

}

⚠️ 关键注意事项与避坑指南

必须使用完整证书链(Fullchain):配置多域名证书时,极易遇到手机端访问报错或“无法获取本地颁发者证书”的问题。请务必确保 ssl_certificate 指向的是包含中间证书的 fullchain.crt 或 fullchain.pem 文件,而不是单一的站点证书文件。
精确匹配原则:多域名证书不支持通配符自动扩展。例如,如果您需要同时保护带 www 和不带 www 的域名,必须在申请证书和配置 server_name 时分别作为独立条目填入。
强制 HTTP 跳转:无论使用哪种方式,都建议为这些域名配置 80 端口的监听,并统一 301 重定向到 HTTPS,以避免混合内容或证书错配风险。
配置生效验证:修改完配置文件后,务必先执行 nginx -t 检查语法是否正确,确认无误后再执行 nginx -s reload 重载服务使其生效。

目前主流的免费 SSL 证书(如 Let's Encrypt)有效期仅为 90 天,手动续签不仅繁琐且极易因遗忘导致证书过期,引发网站“不安全”警告甚至业务中断。要实现自动续签,业界最成熟、最常用的方案是结合 Certbot 工具与 Nginx 插件。以下是实现全自动续签的完整指南:

第一步:安装 Certbot 及 Nginx 插件
Certbot 的 Nginx 插件能够直接与 Nginx 通信,自动处理 ACME 验证、更新 Nginx 配置并重载服务,全程无需停机。
Debian / Ubuntu 系统:

sudo apt update

sudo apt install certbot python3-certbot-nginx -y

CentOS / RHEL 系统:

sudo yum install epel-release -y

sudo yum install certbot python3-certbot-nginx -y

第二步:申请证书并自动配置 Nginx
使用 Nginx 插件一键获取证书,Certbot 会自动在 Nginx 配置中添加 SSL 指令并创建定时任务:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
(注:执行此命令前,请确保 Nginx 配置文件中的 server_name 已正确指定了您的域名,且域名解析已生效。)

第三步:配置定时自动续签任务
虽然 Certbot 安装时通常会自带 systemd 定时器或 cron 任务,但为了确保万无一失,建议手动配置或检查定时任务。执行 sudo crontab -e,添加以下任务:
0 3 1 /3 certbot renew --quiet --post-hook "nginx -s reload"

参数解析:
0 3 1 /3 :每隔 3 个月的 1 号凌晨 3 点执行一次检查。
--quiet:静默模式,不输出冗余日志。
--post-hook "nginx -s reload":在证书成功续签后,自动平滑重载 Nginx 使新证书生效。

第四步:验证自动续签是否生效
配置完成后,务必进行模拟测试,以确保续签流程顺畅:
sudo certbot renew --dry-run

如果终端输出 Congratulations, all renewals succeeded,则说明自动续签配置完全正确。

💡 生产环境避坑与运维建议
零停机体验:使用 Nginx 插件模式(--nginx)或 Webroot 模式,在续期期间 Nginx 会持续提供服务,实现真正的零停机。
定期巡检日志:尽管实现了自动化,仍建议定期检查 /var/log/letsencrypt/ 目录下的日志,确认没有静默失败的情况。
备份核心文件:定期备份 /etc/letsencrypt/live/ 下的证书文件和 /etc/nginx/ 下的配置文件,以防意外损坏时能快速回滚。
监控预警机制:对于高可用要求的生产环境,建议编写简单的 Shell 脚本(利用 openssl s_client 命令)定期探测证书剩余天数,当剩余不足 30 天时自动发送邮件或钉钉告警,构建双重保险。

为 Nginx 配置 SSL 证书是实现网站 HTTPS 加密访问的核心步骤。以下是从证书准备、文件配置到安全加固的完整实操指南:

第一步:准备 SSL 证书文件
在配置之前,您需要准备好有效的 SSL 证书文件。您可以选择购买商业证书,或使用 Let's Encrypt 免费获取。通常,您需要准备以下三个文件:
域名证书文件(后缀通常为 .crt、.cer 或 .pem)
私钥文件(后缀为 .key)
中间链证书(后缀通常为 _ca.crt 或 ca-bundle)
注:如果您使用的是 Let's Encrypt 的 Certbot 工具,它会自动生成包含完整证书链的 fullchain.pem 和私钥 privkey.pem。

第二步:上传文件并设置权限
在 Nginx 安装目录下创建一个专用的 cert 或 ssl 目录(例如 /etc/nginx/ssl/),将上述证书文件统一存放至该目录。
安全加固:务必将私钥文件的权限设置为 600,并确保属主为 root,以防止未授权读取导致证书泄露。

第三步:修改 Nginx 配置文件
打开 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/ 下的站点配置),在对应的 server 块中进行以下配置:

server {

# 1. 监听 443 端口并开启 SSL(推荐同时开启 HTTP/2 提升性能)
listen 443 ssl http2; 
server_name yourdomain.com; # 替换为您的实际域名

# 2. 配置证书与私钥路径(建议使用绝对路径)
ssl_certificate     /etc/nginx/ssl/fullchain.pem; 
ssl_certificate_key /etc/nginx/ssl/privkey.pem; 

# 3. 配置中间证书(如果证书文件中未包含完整证书链,需配置此项)
# ssl_trusted_certificate /etc/nginx/ssl/ca-bundle.crt; 

# 4. 基础安全加固(禁用不安全的旧版协议)
ssl_protocols TLSv1.2 TLSv1.3; 
ssl_ciphers HIGH:!aNULL:!MD5; 
ssl_prefer_server_ciphers on; 

# 5. 启用 HSTS 强制浏览器后续仅通过 HTTPS 访问
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

# 6. 您的网站根目录及路由配置
location / {
    root /var/www/html;
    index index.html;
}

}

第四步:配置 HTTP 自动跳转 HTTPS
为了确保所有流量都通过加密通道传输,需要添加一个监听 80 端口的 server 块,将 HTTP 请求 301 永久重定向到 HTTPS:

server {

listen 80;
server_name yourdomain.com;
return 301 https://hostrequest_uri;

}

第五步:验证配置并重载服务
语法检查:在重载配置前,务必执行 sudo nginx -t 命令,检查配置文件是否存在语法错误或路径权限问题。
重载服务:如果测试通过,执行 sudo systemctl reload nginx 使配置生效(无需完全重启服务)。

第六步:验证与排错
浏览器验证:在浏览器中访问 https://yourdomain.com,检查地址栏是否显示安全锁图标。
在线检测:推荐使用 SSL Labs 等在线工具对您的域名进行扫描,评估证书链是否完整及整体安全评分。
常见报错排查:若浏览器提示“不安全”,请检查证书是否过期、绑定的域名是否匹配,或者页面中是否加载了 HTTP 协议的图片/脚本资源(即混合内容问题)。

SSL证书(Secure Sockets Layer Certificate,现多指其继任者TLS证书)是一种数字证书,相当于网站在数字世界中的“身份证”。它由受信任的第三方机构(CA,证书颁发机构)签发,用于在用户的浏览器和Web服务器之间建立加密连接。

SSL证书之所以至关重要,主要体现在以下四个核心方面:

数据加密,保障信息安全(防窃听)
这是SSL证书最基础的功能。在没有SSL证书的情况下,数据(如账号密码、聊天记录)在网络上是以“明文”传输的,极易被黑客或中间人截获。SSL证书利用非对称加密和对称加密技术,将传输的数据进行高强度加密。即使数据在传输过程中被拦截,攻击者看到的也只是一堆无法破解的乱码,从而保障了用户的隐私和敏感数据安全。

身份验证,建立用户信任(防伪造)
互联网上充斥着各种钓鱼网站和仿冒网页。SSL证书在颁发前,CA机构会对申请者的真实身份(如企业营业执照、域名所有权)进行严格审核。当用户访问网站时,浏览器会验证证书的有效性,并在地址栏显示“小锁”图标或企业名称(如EV证书)。这能帮助用户确认他们正在访问的是真实的官方网站,而非黑客伪造的钓鱼站点,从而建立信任。

保障数据完整性(防篡改)
SSL证书不仅加密数据,还会对数据进行哈希签名。如果在传输过程中,数据遭到恶意篡改或损坏,接收端的校验机制会立刻发现并中断连接。这确保了用户接收到的信息与服务器发出的信息完全一致。

满足现代协议标准与SEO优化
现代协议的强制门槛:正如我们之前讨论的,HTTP/3(QUIC)和TLS 1.3等现代高性能、高安全协议,都强制要求必须使用HTTPS(即部署SSL证书)。没有证书,网站将无法享受这些技术带来的加速和安全红利。
搜索引擎排名(SEO):主流搜索引擎(如Google、百度)明确将HTTPS作为搜索排名的加分项。未部署SSL证书的网站可能会被浏览器标记为“不安全”,从而严重影响用户的访问意愿和网站的流量。

总结来说,SSL证书不仅是保护数据不被窃听和篡改的技术盾牌,更是建立互联网信任体系的基石。在当今的网络环境下,部署SSL证书已经从“可选项”变成了所有网站和Web应用必须履行的“基本义务”。

SSL证书 SSL证书购买 SSL证书申请 SSL证书价格 泛域名证书 通配符证书 通配符SSL证书 https证书 便宜SSL证书 便宜证书 SSL证书多少钱 申请SSL 域名SSL sectigo证书