Nginx如何配置HTTPS?SSL证书安装与443配置完整教程(2026版)
Nginx部署HTTPS需要配置SSL证书、私钥及443端口,并开启HTTP自动跳转HTTPS。正确配置后,网站即可实现加密访问,提高安全性、SEO表现与浏览器信任度。

Nginx如何配置HTTPS?
在当前互联网环境中,HTTPS 已成为网站的基础安全配置。
如果网站仍然使用 HTTP,不仅浏览器会提示“不安全”,还可能影响 SEO 排名、用户信任以及数据传输安全。
对于使用 Nginx 的服务器而言,开启 HTTPS 的核心流程主要包括:
- 申请 SSL 证书
- 配置 nginx.conf
- 开启 443 端口
- 绑定证书与私钥
- 强制 HTTP 跳转 HTTPS
- 开启 HTTP/2 与 HSTS
完成后,网站即可通过 HTTPS 安全访问。
一、Nginx配置HTTPS前需要准备什么?
部署 HTTPS 前,需要先准备以下内容:
| 项目 | 说明 |
|---|---|
| 域名 | 已完成解析 |
| SSL证书 | .crt/.pem 证书文件 |
| 私钥文件 | .key 文件 |
| Nginx环境 | 已安装 nginx |
| 服务器开放443端口 | 安全组/防火墙放行 |
若您尚未获取证书,建议先了解 什么是 SSL 证书 及其 常见证书类型,或直接查看 TopSSL 提供的 免费 SSL 证书申请指南 快速开启 HTTPS 加密。
二、Nginx HTTPS配置步骤

1、上传SSL证书文件
通常需要上传:
example.com.pem
example.com.key
建议存放目录:
/etc/nginx/ssl/
例如:
/etc/nginx/ssl/example.com.pem
/etc/nginx/ssl/example.com.key
2、修改nginx.conf配置
找到对应网站配置:
server {
listen 443 ssl;
server_name www.example.com example.com;
ssl_certificate /etc/nginx/ssl/example.com.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_session_timeout 10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
root /www/wwwroot/example.com;
index index.html index.php;
}
核心参数说明:
| 参数 | 作用 |
|---|---|
| listen 443 ssl | 开启HTTPS |
| ssl_certificate | 证书文件 |
| ssl_certificate_key | 私钥文件 |
| ssl_protocols | TLS版本 |
| ssl_ciphers | 加密算法 |
三、Nginx开启443端口
如果 HTTPS 无法访问,通常是 443 未放行。
Linux 防火墙开放:
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
云服务器还需开放:
- 阿里云安全组
- 腾讯云安全组
- 华为云安全组
否则 HTTPS 无法正常建立连接。
四、Nginx强制HTTP跳转HTTPS
为了避免:
- HTTP与HTTPS重复收录
- SEO权重分散
- 用户访问不安全页面
建议开启301跳转。
配置如下:
server {
listen 80;
server_name www.example.com example.com;
return 301 https://$host$request_uri;
}
作用:
- 自动跳转HTTPS
- 统一URL
- 提升SEO规范性
这是目前主流网站的标准配置。
五、Nginx开启HTTP/2
HTTP/2 可以:
- 提高网站加载速度
- 减少连接数量
- 优化SEO体验
配置方式:
listen 443 ssl http2;
完整示例:
listen 443 ssl http2;
现代浏览器均支持 HTTP/2。
六、Nginx开启HSTS
HSTS 可以强制浏览器始终使用 HTTPS。
配置:
add_header Strict-Transport-Security "max-age=31536000" always;
作用:
- 防止SSL剥离攻击
- 强制HTTPS访问
- 提高安全等级
注意:
开启 HSTS 后,浏览器会长期缓存 HTTPS 策略,建议确认 HTTPS 完全正常后再启用。
七、测试Nginx HTTPS配置是否成功
执行:
nginx -t
出现:
test is successful
即可重载:
systemctl reload nginx
或者:
nginx -s reload
八、常见Nginx HTTPS错误
1、443端口无法访问
原因:
- 防火墙未开放
- 安全组限制
- Nginx未监听443
2、SSL证书不匹配
表现:
NET::ERR_CERT_COMMON_NAME_INVALID
原因:
- 域名不一致
- 使用错误证书
3、证书链不完整
表现:
浏览器提示“不受信任”。
原因:
缺少中间证书。
4、HTTPS循环跳转
原因:
- CDN回源冲突
- 重定向配置错误
九、Nginx HTTPS配置优化建议
建议开启:
- TLS1.2 / TLS1.3
- HTTP/2
- HSTS
- OCSP Stapling
避免:
- 使用TLS1.0
- 弱加密算法
- 自签名证书
十、Nginx部署HTTPS后的SEO优势
HTTPS 已成为搜索引擎的重要信号。
开启 HTTPS 后:
- 消除“不安全”提示
- 提高用户信任
- 提升页面收录稳定性
- 改善SEO表现
总结:Nginx如何正确开启HTTPS?
对于 Nginx 网站而言,HTTPS 配置的核心包括:
- 正确安装 SSL 证书
- 开启 443 端口
- 强制 HTTP 跳转 HTTPS
- 开启 HTTP/2 与 HSTS
- 规范 TLS 配置
完成后,网站不仅能实现数据加密,还能提升搜索引擎友好度与整体安全性。
如果网站已经正式运营,建议优先部署 HTTPS,而不是继续使用 HTTP。
所以针对 Nginx 服务器实现 HTTPS 加密,需经过申请 SSL 证书并配置服务器及 HSTS 等核心流程,您可以参考 TopSSL 提供的什么是 SSL 证书科普及从 HTTP 升级 HTTPS 详细教程,通过证书安装与错误修复指南确保网站安全稳健。
FAQ 常见问题
Nginx配置HTTPS一定要443端口吗?
是。
HTTPS 默认使用 443 端口。
Nginx如何自动跳转HTTPS?
通过301配置:
return 301 https://$host$request_uri;
即可实现。
Nginx HTTPS支持HTTP/2吗?
支持。
只需:listen 443 ssl http2 即可开启。
免费SSL证书能用于Nginx吗?
可以。
大多数免费SSL证书均支持Nginx部署。
Nginx HTTPS配置后网站打不开怎么办?
建议检查:
- 443端口
- 证书路径
- nginx.conf语法
- 防火墙
- 域名解析



京公网安备11010502031690号
网站经营企业工商营业执照
















