文档中心
Nginx閰嶇疆SSL璇佷功鍏ㄦ敾鐣ユ墜鎶婃墜鏁欎綘瀹炵幇HTTPS鍔犲瘑浼犺緭
时间 : 2025-09-27 16:27:42浏览量 : 2

在当今互联网环境中,数据安全至关重要。HTTP明文传输早已无法满足安全需求,而HTTPS通过SSL/TLS加密确保了数据的机密性和完整性。作为一款高性能的Web服务器,Nginx(发音为“engine-x”)因其轻量级和高并发能力广受欢迎。本文将用大白话+实操案例,带你一步步为Nginx配置SSL证书,让你的网站从“裸奔”升级为“保险箱”。
一、为什么要配置SSL证书?
1. 防窃听:HTTP传输的数据像明信片,谁都能看;HTTPS则像密封的信件。
*举例*:用户登录时输入的密码,若用HTTP传输,黑客在咖啡厅Wi-Fi中就能截获。
2. 提升信任度:浏览器会标记HTTPS网站为“安全”,而HTTP网站会显示“不安全”。
3. SEO优化:谷歌等搜索引擎优先排名HTTPS网站。
二、准备工作
1. 获取SSL证书
- 免费选择:Let’s Encrypt(有效期90天,可自动续签)。
- 付费选择:DigiCert、GeoTrust(适合企业级需求)。
*举例*:个人博客用Let’s Encrypt;电商平台建议用OV(企业验证)或EV(扩展验证)证书。
2. 确认Nginx安装
执行命令检查版本:
```bash
nginx -v
```
若未安装,可通过`apt install nginx`(Ubuntu)或`yum install nginx`(CentOS)安装。
三、配置步骤详解
步骤1:上传证书文件
将获得的证书文件上传到服务器,通常包括:
- `domain.crt`:证书文件
- `domain.key`:私钥文件
- (可选)`ca_bundle.crt`:中间证书链
*建议路径*:
```bash
/etc/nginx/ssl/domain.crt
/etc/nginx/ssl/domain.key
```
步骤2:修改Nginx配置文件
编辑站点配置文件(通常位于`/etc/nginx/sites-available/your_site.conf`),添加以下内容:
```nginx
server {
listen 443 ssl;
启用HTTPS默认端口
server_name yourdomain.com;
ssl_certificate /etc/nginx/ssl/domain.crt;
ssl_certificate_key /etc/nginx/ssl/domain.key;
强化安全性(以下为推荐配置)
ssl_protocols TLSv1.2 TLSv1.3;
禁用老旧协议如TLSv1.0
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
location / {
root /var/www/html;
index index.html;
}
}
HTTP强制跳转HTTPS(可选但推荐)
listen 80;
return 301 https://$host$request_uri;
步骤3:测试并重启Nginx
1. 测试配置是否正确:
nginx -t
2. 重启Nginx生效:
systemctl restart nginx
四、常见问题与解决方案
问题1:“SSL handshake failed”错误
- 原因:客户端与服务器支持的协议或加密套件不匹配。
- *解决方法*:确保配置中启用了现代协议(如TLSv1.2+),使用工具[SSL Labs测试](https://www.ssllabs.com/ssltest/)排查。
问题2:浏览器提示“证书不受信任”
- 原因:中间证书链未正确配置。
- *解决方法*:合并中间证书到`.crt`文件:
```bash
cat domain.crt ca_bundle.crt > combined.crt
```
然后在Nginx中引用`combined.crt`。
五、高级优化技巧
1. 开启OCSP Stapling
减少客户端验证证书时的延迟:
```nginx
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 valid=300s;
2. HSTS头强制HTTPS
防止降级攻击:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
六、
通过以上步骤,你的Nginx服务器已成功升级为HTTPS。就像给家门换了指纹锁一样,SSL证书能有效抵御“偷窥”和“篡改”。如果你是新手,建议从Let’s Encrypt开始;企业用户则需关注证书类型和合规性。最后别忘了定期更新证书哦!
延伸阅读:[如何自动化续签Let’s Encrypt证书?](https://certbot.eff.org/)
TAG:nglx配置ssl证书,nginx安装ssl证书,ssl证书如何配置,ssl配置教程,nginx ssl pem,ssl证书配置nginx