文档中心
SSL璇佷功瀹夎Nginx鍏ㄦ敾鐣ユ墜鎶婃墜鏁欎綘鎼缓HTTPS瀹夊叏绔欑偣
时间 : 2025-09-27 16:48:34浏览量 : 4

关键词:SSL证书安装Nginx
一、为什么你的网站必须装SSL证书?
想象一下:你网购时输入银行卡号,数据如果像"明信片"一样在网络上裸奔,黑客半路就能截获。而SSL证书就像给数据套上"防弹快递箱",通过HTTPS加密传输。
真实案例:
2025年某航空公司官网未部署HTTPS,导致38万用户支付信息泄露。事后公司被罚款1.83亿——这足够买60万张SSL证书(按300元/张计算)。
二、准备工作:三样东西缺一不可
1. 服务器权限
需要root或sudo权限,就像你要装修房子得先拿到钥匙。
2. 证书文件
通常从CA机构(如Let's Encrypt、DigiCert)获取后会给你:
- `domain.crt`(正书)
- `domain.key`(私钥)
- 可能有`ca_bundle.crt`(中间证书)
3. Nginx环境
检查是否安装:`nginx -v`
如果报错,用这条命令安装(CentOS示例):
```bash
sudo yum install nginx
```
三、分步安装指南(含排错技巧)
? 步骤1:上传证书到服务器
推荐用SFTP工具(如WinSCP)传到 `/etc/nginx/ssl/` 目录。没有这个目录?自己建:
```bash
mkdir -p /etc/nginx/ssl
```
? 步骤2:修改Nginx配置
打开站点配置文件(通常在 `/etc/nginx/conf.d/your_site.conf`),找到80端口的server块,在下面追加:
```nginx
server {
listen 443 ssl;
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;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
其他原有配置...
}
常见错误解决:
- `SSL_CTX_use_PrivateKey_file error` → 私钥不匹配,用命令检查:
```bash
openssl x509 -noout -modulus -in domain.crt | openssl md5
openssl rsa -noout -modulus -in domain.key | openssl md5
```
两个MD5值必须相同!
? 步骤3:强制跳转HTTPS
在80端口的配置里加入301跳转:
listen 80;
return 301 https://$host$request_uri;
? 步骤4:重启Nginx生效
sudo nginx -t
先测试配置是否正确
sudo systemctl restart nginx
四、验证是否成功
1. 浏览器检查
访问你的网站,地址栏应该显示??图标。点击它能看到证书详情。
2. 在线工具检测
[SSL Labs测试](https://www.ssllabs.com/ssltest/)会给你评分,A+为最佳。
3. 命令行验证
curl -I https://yourdomain.com
看到 `HTTP/2 200` 说明HTTPS已启用。
五、高级技巧提升安全性
?? OCSP装订加速访问
在Nginx配置中添加这两行,可以减少浏览器验证证书的时间:
ssl_stapling on;
ssl_stapling_verify on;
?? HSTS防劫持
添加这个响应头,告诉浏览器未来半年都强制用HTTPS:
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;
FAQ高频问题解答
? Q1: Let's Encrypt证书每3个月要续期怎么办?
?? A: 使用certbot自动化工具,一条命令搞定续期:
certbot renew --dry-run
? Q2: Nginx报错 "could not build server_names_hash"
?? A: server_name重复或太长,在http块中添加:
```nginx
server_names_hash_bucket_size 64;
现在你的网站已经比90%的HTTP站点更安全了!如果遇到其他问题,欢迎在评论区留言讨论。(本文持续更新于2025年最新Nginx稳定版)
TAG:ssl证书安装ngin x,ssl证书安装教程,ssl证书安装要知道服务密码吗,ssl证书安装失败