文档中心
HTTPS閰嶇疆瀹炴垬鎵嬫妸鎵嬫暀浣犵敤Nginx瀹夎SSL璇佷功
时间 : 2025-09-27 16:17:34浏览量 : 3

大家好,我是小林,一名网络安全工程师。今天咱们聊一个既基础又关键的话题——如何用Nginx配置HTTPS证书。我会用最直白的语言,配合实际案例,带你一步步搞定这件事。
一、为什么HTTPS是刚需?
想象一下:你去银行转账,如果网站用的是HTTP(不带S),数据就像“裸奔”在网络上。黑客可以用“中间人攻击”(比如咖啡馆的公共WiFi)轻松截取你的账号密码。而HTTPS通过SSL/TLS加密,相当于给数据套了个防弹衣。
真实案例:
2025年,某知名航空公司因未启用HTTPS,导致38万用户个人信息泄露,被罚款数百万美元。这就是血的教训!
二、HTTPS的核心——SSL证书
SSL证书就像网站的“身份证”,由权威机构(CA)颁发。常见的免费证书有Let's Encrypt,商业证书有DigiCert、Symantec等。
证书类型对比:
| 类型 | 适用场景 | 例子 |
|||--|
| DV(域名验证)| 个人博客、小型网站 | Let's Encrypt |
| OV(组织验证)| 企业官网 | DigiCert OV |
| EV(扩展验证)| 银行、电商(显示绿标) | Symantec EV |
三、Nginx配置HTTPS全流程
步骤1:获取SSL证书
以Let's Encrypt免费证书为例:
```bash
安装Certbot工具
sudo apt install certbot python3-certbot-nginx
一键获取并安装证书(替换yourdomain.com)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
```
Certbot会自动帮你修改Nginx配置,超省心!
步骤2:手动配置Nginx(进阶)
如果想更灵活,可以手动编辑Nginx配置文件(通常位于`/etc/nginx/sites-available/yourdomain.conf`):
```nginx
server {
listen 443 ssl;
server_name yourdomain.com;
证书路径(Certbot默认位置)
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
强制HTTP跳转HTTPS
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
其他配置...
}
步骤3:测试并重启Nginx
测试配置是否正确
sudo nginx -t
重启Nginx生效
sudo systemctl restart nginx
四、常见问题排查
1. 错误1:证书过期
Let's Encrypt证书只有90天有效期!用`certbot renew --dry-run`检查自动续期是否正常。
2. 错误2:混合内容(Mixed Content)
即使启用了HTTPS,如果网页内嵌了HTTP的图片或JS,浏览器仍会报警。解决方法:将所有资源链接改为`//`开头或绝对HTTPS路径。
3. 错误3:TLS版本过低
老旧系统可能默认用TLS 1.0/1.1(已不安全),建议在Nginx中禁用:
```nginx
ssl_protocols TLSv1.2 TLSv1.3;
```
五、高级优化技巧
1. HSTS头防劫持
在Nginx中添加以下配置,强制浏览器只走HTTPS:
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
2. OCSP装订提升性能
OCSP用于实时验证证书是否被吊销,但每次访问都查询会拖慢速度。开启OCSP装订可缓存结果:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8;
3. 选择高性能加密套件
禁用老旧的RC4、3DES等算法:
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
六、
HTTPS不再是可选项而是必选项!通过Nginx配置SSL证书:
1?? 用Certbot快速获取免费证书
2?? 手动调整Nginx配置满足个性化需求
3?? 定期检查续期和安全性
如果你遇到问题,欢迎在评论区留言。下期我会讲如何用OpenSSL自签名证书搭建内网测试环境——关注我,网络安全不迷路! ??
TAG:https nginx 证书,nginx配置cer证书,nginx证书申请,nginx cer证书,nginx ssl证书,nginx配置证书链