Nginx 配置新 SSL 证书并启用 HTTPS 的详细步骤

以下是 在 Nginx 配置新 SSL 证书并启用 HTTPS 的详细步骤,适用于手动安装证书或结合 Let's Encrypt 自动管理的情况:
1. 准备工作•证书来源:
○从证书颁发机构(CA)购买证书(如阿里云、腾讯云、DigiCert 等)。
○使用 Let's Encrypt 免费证书(推荐)。
○生成自签名证书(仅用于测试环境)。
•证书文件要求:
○服务器证书文件(如 example.com.crt 或 fullchain.pem)。
○私钥文件(如 example.com.key 或 privkey.pem)。
○(可选)中间证书文件(如 intermediate.crt,需与主证书合并为完整证书链)。
•将证书和私钥上传到服务器的安全目录(如 /etc/nginx/ssl/):
Bash |
•打开站点配置文件(通常位于 /etc/nginx/sites-available/your_domain.conf 或 /etc/nginx/conf.d/your_domain.conf):
Bash |
•添加 SSL 配置(示例):
Nginx |
•强制 HTTP 跳转 HTTPS(可选):
Nginx |
•测试 Nginx 配置是否正确:
Bash |
如果提示 syntax is ok 且 test is successful,则配置无误。
•平滑重启 Nginx(避免服务中断):
Bash |
•如果失败,尝试完全重启:
Bash |
•访问 https://example.com,检查浏览器地址栏是否显示安全锁标志,且无证书错误。
•使用 openssl 检查证书信息:
Bash |
•使用在线工具(如 SSL Labs)测试证书配置。
5. 自动续签证书(推荐,适用于 Let's Encrypt)
如果使用 Certbot(Let's Encrypt)管理证书:
Bash |
Bash |
按提示选择域名并启用自动重定向(HTTP 到 HTTPS)。
•编辑定时任务:
Bash |
•添加以下任务(每天凌晨 2 点检查续签):
Bash |
○确保证书和私钥文件权限正确:
Bash |
○如果证书文件缺少中间证书,需将 CA 提供的中间证书合并到主证书文件中:
Bash |
○确保服务器防火墙或安全组允许 443 端口入站流量。
○检查 Nginx 错误日志(/var/log/nginx/error.log)排查配置问题。
•证书未生效:检查 Nginx 配置中证书路径是否正确,或尝试强制刷新浏览器缓存。
•权限错误:确保私钥文件权限为 600,且 Nginx 进程有权限读取证书文件。
•配置冲突:运行 nginx -t 检查语法,或查看日志文件 /var/log/nginx/error.log。
通过以上步骤,可以完成 Nginx 的 SSL 证书配置。