文档中心
Nginx閰嶇疆闃块噷浜慡SL璇佷功鍏ㄦ敾鐣ユ墜鎶婃墜瀹炵幇HTTPS鍔犲瘑锛堥檮瀹炴搷妗堜緥锛?txt
时间 : 2025-09-27 16:27:55浏览量 : 4

在今天的互联网环境中,HTTPS加密已成为网站安全的标配。无论你是个人站长还是企业运维,为Nginx服务器配置SSL证书都是必学技能。本文将以阿里云免费SSL证书为例,用最通俗的语言+实操案例,带你从零完成配置,同时深入讲解背后的安全原理。
一、为什么要配置SSL证书?先看两个真实案例
案例1:某电商网站未启用HTTPS,黑客在公共WiFi下截获用户登录请求,直接获取明文密码,导致大规模账号被盗。
案例2:小程序因未使用HTTPS被微信平台强制下线,业务停摆3天。
SSL证书的作用就是建立加密通道:
- ?? 防窃听:像给数据套上"保险箱",比如银行卡号传输时变成`
x9!2pQ`这样的乱码
- ? 身份认证:浏览器显示小锁标志(如下图),告诉用户这不是钓鱼网站
- ?? SEO加分:Google明确将HTTPS作为搜索排名因素

二、阿里云SSL证书申请(5分钟快速获取)
1. 登录阿里云控制台 → 搜索"SSL证书" → 进入「数字证书管理服务」
2. 免费证书申购:
- 选择「DV单域名」→ 免费版(有效期1年)
- 填写域名(支持通配符如 `*.yourdomain.com`)
3. 域名验证:
- DNS验证:在域名解析添加TXT记录(类似`_dnsauth.abc123`)
- 等待10分钟左右通过审核
> ?? 专业建议:生产环境推荐购买OV/EV证书,需企业实名但更安全
三、Nginx配置实操(附常见报错解决)
?? 步骤1:下载证书文件
通过阿里云控制台下载Nginx格式证书,你会得到两个文件:
- `yourdomain.pem`(包含公钥和中间证书)
- `yourdomain.key`(私钥文件)
?? 步骤2:上传到服务器
```bash
创建专用目录存放证书
sudo mkdir -p /etc/nginx/ssl/yourdomain
上传并设置权限(关键!)
sudo chmod 600 yourdomain.*
```
?? 步骤3:修改Nginx配置
编辑站点配置文件(通常位于`/etc/nginx/sites-enabled/default`):
```nginx
server {
listen 443 ssl;
server_name yourdomain.com;
SSL基础配置
ssl_certificate /etc/nginx/ssl/yourdomain/yourdomain.pem;
ssl_certificate_key /etc/nginx/ssl/yourdomain/yourdomain.key;
安全强化配置(重要!)
ssl_protocols TLSv1.2 TLSv1.3;
禁用老旧协议
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
HTTP自动跳转HTTPS
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
}
?? 常见问题排查
1. 报错"SSL handshake failed"
- 检查防火墙是否开放443端口:`sudo ufw allow 443/tcp`
- 确认时间同步:`date`命令查看服务器时间是否准确
2. 浏览器提示"不安全连接"
- PEM文件可能缺少中间证书链,用文本编辑器合并:
```
cat yourdomain.pem intermediate.pem > fullchain.pem
四、高级安全加固技巧
想让你的HTTPS更安全?试试这些专业操作:
?? HSTS头防御降级攻击
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
效果:强制浏览器在未来两年内只通过HTTPS访问
??? OCSP装订提升性能+隐私
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 valid=300s;
原理:让服务器代替浏览器查询证书吊销状态
五、自动化续期方案
免费证书每年需要续期,推荐使用acme.sh自动化:
curl https://get.acme.sh | sh
acme.sh --issue --dns dns_ali -d yourdomain.com \
--server letsencrypt \
--renew-hook "systemctl reload nginx"
?最终效果检查
访问[SSL Labs测试工具](https://www.ssllabs.com/ssltest/)输入你的域名,理想情况下应该获得A+评级:

现在你的网站已经具备银行级的安全加密能力!如果遇到任何问题,欢迎在评论区留言交流~
TAG:nginx配置阿里云ssl证书,阿里云https配置,阿里云部署ssl证书,阿里云 nginx,阿里云 nginx证书配置,nginx配置阿里云域名