当前位置: 首页 > news >正文

spring cloud gateway 转发 ws 流量

由于项目中,存在ws服务,所以统一经过网关转发流量。
实际的链路:
在这里插入图片描述

  1. nginx的配置:
    http 块的配置
	map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

这里使用map的原因:可以根据请求头的 $http_upgrade 值动态设置 Connection 头

  • 如果 $http_upgrade 存在(非空),说明是 WebSocket 请求 → 设置 Connection: upgrade
  • 如果为空(普通请求)→ 设置 Connection: close
    这样就能安全地区分 WebSocket 和普通请求,避免不必要的问题。

server 块的配置

	location / {
        proxy_pass http://apibackend;
        
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 保留 WebSocket 所需头部
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        
        # 防止 WebSocket 被缓存或打断
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
    }
  1. spring cloud gateway 的转发设置
    gateway:
      routes:
        - id: ws
          uri: ws://localhost:4443
          predicates:
            - Path=/**
            # 只匹配ws头
            - Header=Upgrade, websocket
          filters:
          	# 确保原始请求头中的 Host 不被网关自动替换成目标服务地址
            - PreserveHostHeader=true

根据特定的ws请求头来转发,避免根路径匹配,影响其他正常http请求

相关文章:

  • 【3GPP】【5G】精讲5G系统的策略和计费控制框架
  • 【MySQL从入门到精通】之基础概念详解
  • 多版本go冲突问题
  • 数据结构-哈希表
  • 免费送源码:Java+ssm+MySQL 酒店预订管理系统的设计与实现 计算机毕业设计原创定制
  • 社交电商引流策略中的让利行为及其影响——基于开源AI智能名片、链动2+1模式与S2B2C商城小程序的分析
  • Spring Boot 热部署详解,包含详细的配置项说明
  • 行业标准 | IT服务技术与标准研讨会在京召开
  • Qt文件读写
  • AMGCL库的Backends及使用示例
  • Java基础:Stream流操作
  • 【软考系统架构设计师】信息安全技术基础知识点
  • 25级总分413数学一142专业124东南大学820考研经验电子信息通信工程,真题,大纲,参考书。
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-集成心知天气(二)
  • 深入理解 HTML5 语义元素:提升网页结构与可访问性
  • 【C++】中memcpy的使用
  • 校园AI体育:科技赋能教育,运动点亮未来
  • 【集成电路版图设计学习笔记】1. Introduction to Layout Design
  • k8s蓝绿发布
  • 软件系统安全设计方案,信息化安全建设方案(Word原件)
  • 简洁网站设计/图片优化
  • 电子商务网站建设与管理感想/营销推广活动策划书模板
  • 免费制作自己的网站长/外贸平台排行榜前十名
  • 户网站开发的小公司/网络推广服务
  • 做软件赚钱的网站有哪些/友情链接管理系统
  • 网站运营如何做/站长工具之家