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 获取完整配置文档。

相关推荐
云计算磊哥@8 小时前
运维开发宝典058-大型网站nginx服务器管理全集4
服务器·nginx·运维开发
Flandern111118 小时前
HTTPS(TLS 1.3)完整流程
数据库·网络协议·计算机网络·https
沐苏瑶19 小时前
计算机网络核心笔记:打通 TCP/UDP 与 HTTP/HTTPS 底层逻辑(重点上)
笔记·计算机网络·http·https
2501_915918411 天前
深入对比iOS开发中常用性能监控工具的底层原理与优缺点分析
android·ios·小程序·https·uni-app·iphone·webview
agathakuan1 天前
Wireshark 解密並導出TLS 1.2 / TLS 1.3 明文的方法(可控制 Client 端)
c语言·wireshark·ssl·openwrt
huainingning2 天前
防火墙重启后ssl登录提示证书过期临时解决方法
linux·服务器·ssl
郝亚军2 天前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
Geek-Chow3 天前
ALB SSL policy conflict (AWS Load Balancer Controller)
网络协议·ssl·aws
記億揺晃着的那天3 天前
HTTPS 页面内网直连 NAS:解决 Mixed Content 与公网带宽瓶颈
网络协议·http·https·nas