文档中心
Nginx閰嶇疆SSL璇佷功锛圥EM鏍煎紡锛夋墜鎶婃墜鏁欎綘鎼缓HTTPS瀹夊叏缃戠珯
时间 : 2025-09-27 16:27:50浏览量 : 3

关键词:Nginx配置SSL证书 PEM
一、为什么你的网站需要HTTPS?
想象一下:你开了一家网店,顾客填写信用卡信息时,如果数据用"明信片"传输(HTTP),黑客可以半路截获。而HTTPS就像给数据加了"防弹快递箱",通过SSL/TLS加密保护传输安全。
实际后果举例:
- 谷歌Chrome会对HTTP网站显示"不安全"警告,60%用户会直接离开
- 微信小程序等平台强制要求HTTPS接口
- 搜索引擎会优先排名HTTPS网站
二、准备工作:获取PEM格式证书
PEM是最常见的证书格式,通常包含:
- 证书文件(.crt或.pem)
- 私钥文件(.key)
- 中间证书链(CA Bundle)
获取方式举例:
1. 免费证书:Let's Encrypt(适合个人博客)
```bash
sudo certbot certonly --nginx -d example.com
```
2. 商业证书:DigiCert/Sectigo(适合企业官网)
3. 云平台签发:阿里云/腾讯云一键申请
> ?? 专业提示:生产环境建议使用OV或EV证书,浏览器地址栏会显示公司名称增强信任度
三、Nginx配置详解(附PEM示例)
假设你的证书文件路径为:
- `/etc/ssl/example.com.crt` (主证书)
- `/etc/ssl/example.com.key` (私钥)
- `/etc/ssl/ca-bundle.crt` (中间证书链)
基础配置示例:
```nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/example.com.crt;
ssl_certificate_key /etc/ssl/example.com.key;
TLS协议优化
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
HSTS安全头(强制HTTPS)
add_header Strict-Transport-Security "max-age=63072000" always;
其他配置...
}
```
高级技巧:
1. 合并证书链(避免中间证书缺失错误):
cat example.com.crt ca-bundle.crt > combined.crt
然后修改配置:
```nginx
ssl_certificate /etc/ssl/combined.crt;
2. OCSP装订优化(提高SSL握手速度):
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 valid=300s;
四、常见问题排查指南
| 错误现象 | 可能原因 | 解决方案 |
||||
| Nginx启动报错 `SSL_CTX_use_PrivateKey` | 私钥不匹配 | `openssl x509 -noout -modulus -in cert.pem`对比密钥哈希值 |
| Chrome显示"无效证书" | 中间证书缺失 | 用[SSL Labs测试工具](https://www.ssllabs.com/ssltest/)检查完整链 |
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | TLS协议过时 | 确保配置包含TLSv1.2+ |
五、安全加固建议
1. 禁用老旧协议:
ssl_protocols TLSv1.2 TLSv1.3;
禁用不安全的TLSv1.0/1.1
2. 开启会话复用(提升性能):
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
3. 定期轮换密钥:
openssl dhparam -out /etc/ssl/dhparam.pem 2048
然后在Nginx中添加:
ssl_dhparam /etc/ssl/dhparam.pem;
六、自动化维护方案
对于长期运营的网站,推荐使用自动化工具:
```bash
Let's Encrypt自动续期脚本
certbot renew --quiet --post-hook "systemctl reload nginx"
可添加到crontab实现每月自动续期:
0 */12 * * * /usr/bin/certbot renew --quiet
> ?? SEO小贴士:完成HTTPS改造后记得在Google Search Console提交新域名属性!
通过以上步骤,你的网站将获得:
? Chrome绿色小锁标志 ? SEO排名加成 ? PCI DSS合规基础 ? CSRF/XSS攻击防护增强
TAG:nginx配置ssl证书+pem,如何给域名生成ssl证书,域名配置https,域名添加ssl,域名申请ssl,域名怎么配置,域名添加证书,域名怎么申请ssl证书,域名部署ssl证书