网站HTTP升级HTTPS已是基础安全标配,本篇手把手讲解从证书申领、文件上传到Nginx参数配置、上线验证全流程,快速完成全站加密部署。
部署前期准备
- 准备证书文件
域名证书文件:后缀.crt/.pem
网站私钥文件:后缀.key
中间链证书:ca-bundle/chain格式文件
- 校验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 获取完整配置文档。