Nginx如何配置HTTPS?SSL证书安装与443配置完整教程

更新时间:2026-05-08 来源:TopSSL 作者:TopSSL

Nginx如何配置HTTPS?SSL证书安装与443配置完整教程(2026版)

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

如何将网站从 HTTP 更改为 HTTPS?完整迁移指南

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配置步骤

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_protocolsTLS版本
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表现

Google 与百度均明确支持 HTTPS


总结: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语法
  • 防火墙
  • 域名解析
有用
分享
无用
反馈
返回顶部
0 个回答
10 次浏览
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn