ssl新闻资讯

文档中心

NginxSSL娉涘煙鍚嶈瘉涔﹂厤缃寚鍗椾竴绔欏紡淇濇姢鎵€鏈夊瓙鍩熷悕瀹夊叏

时间 : 2025-09-27 16:26:06浏览量 : 3

2NginxSSL娉涘煙鍚嶈瘉涔﹂厤缃寚鍗椾竴绔欏紡淇濇姢鎵€鏈夊瓙鍩熷悕瀹夊叏

关键词: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泛域名解析