文档中心
NginxSSL娉涘煙鍚嶈瘉涔﹂厤缃寚鍗椾竴绔欏紡淇濇姢鎵€鏈夊瓙鍩熷悕瀹夊叏
时间 : 2025-09-27 16:26:06浏览量 : 3

关键词:Nginx SSL 泛域名证书
一、什么是泛域名证书?为什么你需要它?
想象你有一个主域名`example.com`,旗下有几十个子域名:
- `shop.example.com`(电商站)
- `blog.example.com`(博客)
- `api.example.com`(后端接口)
如果每个子域名都单独购买SSL证书,不仅成本高,管理也麻烦。而泛域名证书(Wildcard SSL Certificate)就是解决方案——一张证书通配符`*.example.com`,能保护所有同级子域名。
实际案例:
某电商平台因未覆盖`checkout.example.com`的SSL证书,导致支付页面被中间人攻击,用户信用卡信息泄露。使用泛域名证书可避免这类遗漏风险。
二、Nginx配置泛域名证书的5个核心步骤
1. 获取泛域名证书(以Let's Encrypt为例)
通过Certbot工具一键申请(假设服务器已安装Nginx):
```bash
certbot certonly --manual --preferred-challenges=dns -d *.example.com
```
需按提示在DNS解析中添加TXT记录验证所有权。
2. 证书文件存放路径
成功后会生成以下文件:
```
/etc/letsencrypt/live/example.com/
├── fullchain.pem
证书链(含中间CA)
├── privkey.pem
私钥(务必保密!)
└── ...其他文件
3. Nginx基础配置模板
编辑`/etc/nginx/sites-available/default`:
```nginx
server {
listen 443 ssl;
server_name *.example.com;
关键!通配符匹配所有子域
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
强制HTTPS跳转(安全最佳实践)
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
...其他业务配置
}
4. HTTPS强化配置(加分项)
添加以下参数提升安全性:
ssl_protocols TLSv1.2 TLSv1.3;
禁用老旧协议
ssl_prefer_server_ciphers on;
优先使用服务端加密套件
ssl_session_timeout 1d;
SSL会话缓存时间
ssl_session_cache shared:SSL:10m;
缓存大小优化性能
5. 测试与重载配置
nginx -t
检查语法错误
systemctl reload nginx
三、常见问题排查技巧
?问题1:浏览器提示"证书不匹配"
原因:访问的子域与证书范围不符。例如:
- ?有效:`test.example.com`(匹配`*.example.com`)
- ?无效:`dev.test.example.com`(二级子域需单独处理)
解决方案:申请多级通配符证书(如`*.*.example.com`),但多数CA不支持。
?问题2:Nginx报错"SSL handshake failed"
检查方向:
1. 私钥权限:确保Nginx用户有读取权限 (`chmod 600 privkey.pem`)
2. 协议兼容性:老旧客户端不支持TLS1.3时,需保留TLS1.2
四、高级场景扩展
? SNI技术实现多域名托管
同一IP托管多个泛域名证书时(如`*.a.com`和`*.b.com`),需启用SNI支持:
server_name *.a.com;
ssl_certificate /path/to/a_com.crt;
...
server_name *.b.com;
ssl_certificate /path/to/b_com.crt;
? OCSP Stapling加速验证
减少客户端验证证书吊销状态的延迟:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 valid=300s;
五、 Checklist ?
|步骤|操作要点|
|||
|1??申请证书|通过DNS验证获取泛域名证书|
|2??Nginx配置|绑定通配符server_name和证书路径|
|3??安全加固|禁用弱协议、开启HSTS等|
|4??测试验证|用SSLLabs工具检测评分|
通过本文方案,你可以用一张SSL证书为所有子域保驾护航,兼顾安全性与管理效率。如有疑问,欢迎在评论区交流! ??
TAG:nginx ssl 泛域名证书,nginx的ssl证书,nginx部署ssl证书,nginx 泛域名配置,nginx 多域名ssl认证,nginx泛域名解析