如何配置 Nginx HTTPS 以适应分布式架构中的流量分发

雨强同学_9284

雨强同学_9284

2026-06-09

444人浏览

原创

nginx https流量分发需区分四层(sni透传)与七层(tls终止):四层基于stream模块和ssl_preread,不解密、不验证书,仅按sni域名转发至后端https服务;七层在http块中配置server监听443 ssl,统一终止tls、解析http头/路径/cookie,支持重写、灰度、waf等高级功能。

如何配置 nginx https 以适应分布式架构中的流量分发

要在分布式架构中用 Nginx 做 HTTPS 流量分发,关键不是“把 HTTPS 解开再转发”,而是分清两个层级:HTTP 层(七层)做内容感知路由,TCP 层(四层)靠 SNI 做无解密分流。选哪种,取决于你是否需要 inspect HTTP 头、路径、Cookie 等信息。

基于 SNI 的四层 HTTPS 分流(不终止 TLS)

适用于多个 HTTPS 服务共用 443 端口、后端各自持有证书、无需 Nginx 解密的场景,比如多个独立 SaaS 应用或微服务网关前的统一入口。

  • 确认 Nginx ≥ 1.19.4,OpenSSL ≥ 1.1.1,并启用 stream_ssl_preread_module(运行 nginx -V | grep stream-ssl-preread 验证)
  • 所有配置写在顶层 stream { ... } 块内,不能放在 http 里
  • 用 map $ssl_preread_server_name $upstream_backend 匹配域名,例如:
    app1.example.com app1_backend;
    app2.example.com app2_backend;
  • server 块监听 443 ssl preread,开启 ssl_preread on,并设置 proxy_ssl on 透传加密连接
  • 后端服务器必须支持 TLS,并自行处理证书;Nginx 不参与证书验证与加解密

基于 server_name 的七层 HTTPS 反向代理(终止 TLS)

适用于需统一管理证书、做路径重写、请求头注入、灰度发布或 WAF 防护的场景,比如企业中台或 API 网关。

Nginx Hosting
Nginx Hosting

通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

下载
  • 每个 server 块监听 443 ssl,绑定独立域名:
    server_name api.example.com;
    ssl_certificate /path/to/api.crt;
    ssl_certificate_key /path/to/api.key;
  • 后端可走 HTTP 或 HTTPS:
    proxy_pass https://backend_app1;(推荐 HTTPS 后段)
    proxy_set_header X-Forwarded-Proto $scheme; 保留协议信息
  • 建议启用 TLS 1.3、OCSP Stapling 和会话缓存:
    ssl_protocols TLSv1.3;
    ssl_stapling on; ssl_trusted_certificate /path/to/fullchain.pem;
    ssl_session_cache shared:SSL:10m;
  • 若多域名共用同一证书(如通配符),可复用同一份证书文件,减少磁盘与加载开销

结合负载均衡提升分布式弹性

无论四层还是七层,后端通常不止一台机器,需配合 upstream 实现高可用分发。

  • 定义带健康检查的上游组:
    upstream app1_cluster {<br>  server 10.0.2.10:443 max_fails=2 fail_timeout=15s;<br>  server 10.0.2.11:443 max_fails=2 fail_timeout=15s;<br>  keepalive 32;<br>}
  • 选择合适算法:
    轮询(默认)、加权轮询(适配异构节点)、least_conn(适合长连接)、ip_hash(需会话保持)
  • 对 HTTPS 后端,加上 proxy_ssl_* 参数确保 TLS 连接安全透传:
    proxy_ssl_verify off;(若后端证书为自签或内网 CA)
    proxy_ssl_trusted_certificate /etc/nginx/ssl/internal-ca.pem;
  • 避免 SSL 握手成为瓶颈:启用 ssl_session_reuse 和合理设置 ssl_buffer_size

自动化与运维友好实践

在动态扩缩容的分布式环境中,静态配置易失效,需增强可维护性。

  • 用 Certbot + Nginx 插件实现 Let’s Encrypt 证书自动申请与续期,配合 location /.well-known/acme-challenge 透传验证请求
  • 将各域名配置拆分为独立文件,放入 /etc/nginx/conf.d/sites-enabled/ 并 include,便于 CI/CD 管理
  • 对灰度流量,用 split_clients 或 map + 请求头/参数做条件路由,例如:
    map $arg_version $backend { "" default; "v2" v2_backend; }
  • 添加基础防护:用 limit_req 控制突发流量,配合 geo 模块限制高风险区域请求频次

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx nginx https

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

920

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2932

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

976

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

869

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2656

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4972

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

787

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习