
如何配置Nginx服务器以使用Let's Encrypt证书?
- 来源:本站
- 编辑: 超级管理员
- 时间:2025-06-21 14:12:32
- 阅读0次
在 Nginx 服务器上配置 Let's Encrypt 证书需要确保证书路径正确、SSL 参数优化,并设置 HTTP 到 HTTPS 的强制跳转。以下是详细配置步骤:
一、准备工作
确认证书已成功申请
Let's Encrypt 证书文件默认存放在:
plaintext
/etc/letsencrypt/live/你的域名/fullchain.pem # 证书链(含网站证书和中间证书)
/etc/letsencrypt/live/你的域名/privkey.pem # 私钥
备份现有 Nginx 配置
bash
sudo cp /etc/nginx/conf.d/你的域名.conf /etc/nginx/conf.d/你的域名.conf.bak
二、配置 Nginx 支持 HTTPS
1. 编辑 Nginx 配置文件
bash
sudo nano /etc/nginx/conf.d/你的域名.conf
2. 配置 HTTPS 服务器块
添加以下内容(替换你的域名为实际域名):
nginx
server {
listen 443 ssl http2;
server_name 你的域名 www.你的域名;
# 证书配置
ssl_certificate /etc/letsencrypt/live/你的域名/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;
# SSL/TLS优化配置(可选但推荐)
ssl_protocols TLSv1.3 TLSv1.2; # 仅支持现代协议
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384";
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# HSTS头部(强制HTTPS,生产环境建议启用)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
# 网站根目录
root /var/www/html; # 根据实际情况修改
index index.html index.htm;
# 其他配置(如PHP解析、日志等)
location / {
try_files $uri $uri/ =404;
}
}
3. 配置 HTTP 到 HTTPS 的重定向
在同一配置文件中添加以下 HTTP 服务器块:
nginx
server {
listen 80;
server_name 你的域名 www.你的域名;
return 301 https://$host$request_uri; # 强制跳转HTTPS
}
三、配置验证与重载 Nginx
检查配置语法
bash
sudo nginx -t
# 若输出 "syntax is ok" 和 "test is successful",则配置正确
重载 Nginx 服务
bash
sudo systemctl reload nginx
四、验证 HTTPS 配置
浏览器访问测试
打开 https://你的域名,检查:
地址栏是否显示安全锁标志(Chrome/Edge)或 “安全” 标签(Firefox)。
无混合内容警告(可通过开发者工具 → 控制台查看)。
SSL Labs 测试
访问 SSL Server Test,输入域名检测:
评级应为 A- 或更高。
无协议漏洞(如 POODLE、BEAST 等)。
五、优化配置建议
1. OCSP Stapling(提升连接速度)
在 HTTPS 服务器块中添加:
nginx
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s; # Google DNS,可替换为其他公共DNS
resolver_timeout 5s;
2. 禁用 TLS 1.0/1.1(可选)
仅保留 TLSv1.3 TLSv1.2 以提升安全性,但需确保客户端兼容性。
3. 启用 HTTP/2(已在配置中包含)
listen 443 ssl http2; 可显著提升网站性能。
六、常见问题排查
1. 浏览器仍显示 “不安全”
原因:
证书路径错误或权限不足。
存在混合内容(如 HTTPS 页面加载 HTTP 资源)。
解决:
检查证书文件路径和权限(确保 Nginx 用户有权读取)。
使用浏览器开发者工具 → 网络面板,排查 HTTP 资源并替换为 HTTPS。
2. Nginx 无法启动 / 重载
原因:
配置语法错误。
端口冲突(如 443 端口被其他程序占用)。
解决:
检查 nginx -t 输出的错误信息。
使用 ss -tulpn | grep :443 检查端口占用情况。
通过以上配置,Nginx 服务器将安全地使用 Let's Encrypt 证书提供 HTTPS 服务,并具备良好的性能和安全性。
- 如何在Apache服务器上配置Let's ···
2025-06-21
- 如何配置Nginx服务器以使用Let's···
2025-06-21
- 如何验证Let's Encrypt证书是否已···
2025-06-21
- 如何查看CentOS 9系统中文件的所···
2025-06-20
- 如何在CentOS 9中设置文件系统的···
2025-06-20
- centos9系统如何挂载出剩余硬盘?···
2025-06-20
- 面向未来的高可用境外服务器架构···
2024-08-26
- 跨境电商成功案例之优秀外国服务···
2024-08-22
- 从成本效益角度分析境外服务器的···
2024-08-17
- 如何规避使用外国服务器的风险问···
2024-08-16
- 搭建安全稳定的境外网站:首选外···
2024-08-19
- 针对中小企业的境外服务器配置指···
2024-08-22