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 小时前
Nginx主动健康检查
运维·nginx
运维全栈笔记10 小时前
致远 OA HTTPS 配置避坑指南
网络协议·http·https
2501_9159090611 小时前
iOS test 测试怎么做?功能、性能、兼容、稳定与安全五类测试指南
android·ios·小程序·https·uni-app·iphone·webview
難釋懷15 小时前
Nginx-Openresty
nginx·junit·openresty
qetfw15 小时前
Debian 部署 Discuz! 论坛:Nginx、PHP 与 MariaDB 配置
linux·运维·nginx·debian·php·discuz
記億揺晃着的那天1 天前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
骇客野人2 天前
基于Nginx+Eureka+Apollo+Jenkins+SpringBoot Web系统分布式部署方案
nginx·eureka·jenkins
游戏开发爱好者82 天前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
zhengqiqiqinqin2 天前
Ubuntu16.04 升级ssl到3.5.7、升级ssh到9.8p1
网络协议·ssh·ssl
Kendra9192 天前
从 0 到上线:单文件网页 App 部署到阿里云 ECS 全流程(Nginx+Node+PM2+PostgreSQL)
nginx·阿里云·云计算·部署·个人开发·今天吃什么