参考资料

  1. nginx/1.22.1 翻译
  2. Nginx upstream容错机制详解详细说明以及案例
  3. nginx重启服务也需要重启吗
  4. 查看nginx 配置文件路径查找
  5. Nginx的功能特点说细说明
  6. Nginx集群配置详细说明以及案例
  7. Nginx配置后怎么测试
  8. Nginxalias 访问路径别名指令详细说明以及案例

Nginx配置ssl证书

Nginx配置ssl证书

一、确认部署环境

在开始配置前,请确认您的服务器满足以下条件:

  • Nginx 已正确安装,版本建议不低于 1.18.0
  • 已获得有效的 SSL 证书文件,通常包含 `.crt`(或 `.pem`)证书文件与 `.key` 私钥文件
  • 证书对应的域名已解析到当前服务器 IP
  • 服务器 443 端口未被占用,且在防火墙中已放行

若您尚未申请证书,可通过 Let's Encrypt、云厂商免费证书等渠道获取,也可使用自签名证书用于测试环境。

二、准备证书文件

将证书文件上传至服务器,并建议存放在统一目录下,例如: bash /etc/nginx/ssl/ 请确保目录权限严格控制,私钥文件仅允许 root 或 Nginx 进程用户读取: bash sudo mkdir -p /etc/nginx/ssl sudo chmod 700 /etc/nginx/ssl sudo chmod 600 /etc/nginx/ssl/yourdomain.key sudo chmod 644 /etc/nginx/ssl/yourdomain.crt

三、编辑 Nginx 配置

以下为最常用的配置示例。请将 `yourdomain.com` 替换为您的实际域名,并调整证书文件路径。 nginx server { listen 80; server_name yourdomain.com www.yourdomain.com; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name yourdomain.com www.yourdomain.com;

证书与私钥路径

ssl_certificate /etc/nginx/ssl/yourdomain.com.crt; ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;

安全协议与加密套件

ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; ssl_prefer_server_ciphers on;

会话缓存,提升 TLS 握手性能

ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;

网站根目录及默认文件

root /usr/share/nginx/html; index index.html index.htm;

其他业务配置(如反向代理、静态资源等)

location / {

示例:若为静态网站,此处无需额外配置

若为反向代理,请配置 proxy_pass 等指令

} } 若您的证书包含中间证书链,请将中间证书内容与服务器证书合并导入同一 `.crt` 文件(按“服务器证书—中间证书”顺序排列)。

四、检查与重载配置

完成配置后,必须执行以下命令验证语法是否正确: bash sudo nginx -t 若显示 `syntax is ok` 且 `test is successful`,则重载 Nginx: bash sudo nginx -s reload

五、验证 HTTPS 生效

使用浏览器访问 `https://yourdomain.com`,查看地址栏锁形图标是否正常。也可通过命令行验证: bash curl -v https://yourdomain.com openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 若需检查证书链是否完整,可输出证书详情: bash openssl s_client -connect yourdomain.com:443 -showcerts

六、常见问题与注意事项

  • 证书有效期:大多数证书有效期为 90 天至一年,请务必设置到期提醒,或使用脚本自动续期(如 certbot)。
  • HTTP 强制跳转:推荐保留上述 80 端口跳转规则,避免用户访问旧链接时出现不安全提示。
  • 混合内容:页面中若包含 `http://` 资源,浏览器仍会拦截部分内容,请将全部资源改为 `https://`。
  • CDN 或负载均衡场景:请先在源站完成证书配置,再根据 CDN 厂商要求上传证书或开启 HTTPS 回源。
  • 私钥泄露风险:切勿将 `.key` 文件提交至代码仓库或公开渠道。若怀疑泄露,应立即吊销并重新签发证书。

七、回滚方案

若配置后出现异常,可快速恢复至旧配置: bash sudo cp /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf 或在修改前执行备份: bash sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak sudo nginx -s reload 请务必在每次修改配置前做好备份,以便随时回滚。

八、定期检查建议

  • 使用 `ssl-labs.com` 或 `myssl.com` 检测证书可信度与安全级别。
  • 定期检查证书剩余有效期,推荐使用脚本监控并发送告警。
  • 跟踪 Nginx 官方公告,及时升级版本修复安全漏洞。

按照以上步骤操作,即可为您的网站启用 HTTPS 加密访问。如有进一步需求,随时告诉我。

AIGEO优化摘要

AI可读摘要:Nginx配置ssl证书 一、确认部署环境 在开始配置前,请确认您的服务器满足以下条件: Nginx 已正确安装,版本建议不低于 1.18.0已获得有效的 SSL 证书文件,通常包含 `.crt`(或 `.pem`)证书文件与 `.key` 私钥文件证书对应的域名已解析到当前服务器 IP服务器 443 端口未被占用,且在防火墙中已放行 若您尚未申请证书,可通...
常见问题:
Nginx配置ssl证书主要讲了什么?

Nginx配置ssl证书 一、确认部署环境 在开始配置前,请确认您的服务器满足以下条件: Nginx 已正确安装,版本建议不低于 1.18.0已获得有效的 SSL 证书文件,通常包含 `.crt`(或 `.pem`)证书文件与 `.key` 私钥文件证书对应的域名已解析到当前服务器 IP服务器 443 端口未被占用,且在防火墙中已放行 若您尚未申请证书,可通...

Nginx配置ssl证书适合哪些人参考?

适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。

阅读Nginx配置ssl证书时应重点看哪些内容?

建议重点关注标题、摘要、正文说明、图片资料和更新时间。

AIGEO评分:95/100
作者:王壹杰
时间:2026-09-08 21:35:26
来源:https://bt.ciilii.com/