Nginx配置SSL证书教程:从零到HTTPS的完整部署指南

网站HTTP升级HTTPS已是基础安全标配,本篇手把手讲解从证书申领、文件上传到Nginx参数配置、上线验证全流程,快速完成全站加密部署。

部署前期准备

  1. 准备证书文件

域名证书文件:后缀.crt/.pem

网站私钥文件:后缀.key

中间链证书:ca-bundle/chain格式文件

  1. 校验Nginx SSL模块支持

执行命令检测编译模块

nginx -V | grep ssl

无SSL模块则重新编译安装OpenSSL依赖模块,方可正常启用加密功能

证书申请与文件下载

按需选择DV/OV/EV类型,提交GlobalSign证书申请

通过DNS解析或站点文件方式完成域名所有权验证

审核通过后下载完整证书压缩包

解压分离证书、私钥、中间链文件,统一存放服务器目录

编辑Nginx站点配置

打开全局或独立站点配置文件

sudo vim /etc/nginx/nginx.confsudo vim /etc/nginx/sites-available/default

基础最简SSL配置

server {listen 443 ssl;server_name example.com;ssl_certificate /path/to/your_certificate.crt;ssl_certificate_key /path/to/your_private.key;}

安全优化推荐配置

server {listen 443 ssl http2;server_name example.com;ssl_certificate /path/to/certificate.crt;ssl_certificate_key /path/to/private.key;ssl_trusted_certificate /path/to/ca-bundle.crt;# 协议与加密套件ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;ssl_prefer_server_ciphers on;# 会话缓存提速ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m;# 强制全站HTTPSadd_header Strict-Transport-Security "max-age=31536000" always;}

80端口自动跳转HTTPS

server {listen 80;server_name example.com;return 301 https://server_namerequest_uri;}

配置校验与服务生效

检查配置语法合法性

sudo nginx -t

重载配置无需重启服务

sudo systemctl reload nginx

浏览器访问域名,查看地址栏安全锁标识

使用SSL Labs在线工具全面检测证书评分

常见报错快速排查

证书链不完整 补充配置ssl_trusted_certificate参数,或手动合并中间证书文件

浏览器安全告警 核对证书有效期、绑定域名、服务器系统时间是否正常

页面混合资源报错 全站图片、脚本、链接资源统一替换为HTTPS协议

网站访问性能下降 开启HTTP/2协议、会话缓存、OCSP Stapling优化加速

结语

Nginx部署SSL门槛较低,理清证书路径、协议版本、跳转规则即可快速上线。规范配置可兼顾访问安全、浏览速度与浏览器兼容性,全程半小时左右即可完成全站HTTPS改造。

延伸阅读:Apache、IIS服务器证书部署教程,访问 globalsign.cn 获取完整配置文档。

相关推荐
2501_915918411 小时前
iOS App性能测试工具的实现方法与优化循环指南
android·ios·小程序·https·uni-app·iphone·webview
疯狂的维修4 小时前
博图不同版本下的OPC UA功能开启区别
服务器·https·ssl
master3364 小时前
SSL 证书链问题导致微信小程序无法正常工作
网络协议·微信小程序·ssl
VidDown5 小时前
视频协议传输全解析:从 HTTP/HTTPS 到 HLS/DASH 的完整旅程
javascript·网络·http·https·编辑器·音视频·视频编解码
難釋懷1 天前
Nginx对客户端的限制
运维·nginx
楠目1 天前
CVE-2017-7529 Nginx Range头整数溢出漏洞利用总结
运维·nginx
极创信息1 天前
信创产品适配测试认证,域名和SSL是必须的吗?
java·开发语言·网络·python·网络协议·ruby·ssl
難釋懷1 天前
Nginx缓冲区
前端·javascript·nginx
ElevenS_it1882 天前
Nginx日志监控告警实战:access_log解析+5xx突增+慢请求+异常IP自动告警完整方案(Filebeat+Zabbix)
运维·网络·tcp/ip·nginx·zabbix