gateway转发websocket

转发webSocket

spring:
  cloud:
    gateway:
      routes:
        - id: websocket1
          uri: ws://127.0.0.1:8081 #websocket配置,直接地址使用方式1
          #uri: lb:ws://serviceName #websocket配置,通过nacos注册中心调用serviceName使用方式2
          predicates: 
            - Path=/websocket

webSocket与netty集成后,netty要单独开端口访问,以上方式要直接指定netty的端口,集群的时候可以配置多个相同的路由规则,每个指定一个netty-websocket服务,然后通过权重实现负载均衡

spring:
  cloud:
    gateway:
      routes:
        - id: websocket1
          uri: ws://127.0.0.1:8081
          predicates:
            - Path=/ws
            - Weight=group1,45
          filters:
            - StripPrefix=1
        - id: websocket2
          uri: ws://127.0.0.1:8082
          predicates:
            - Path=/ws
            - Weight=group1,55
          filters:
            - StripPrefix=1
### 使用 Fiddler 转发 WebSocket 消息 为了实现使用 Fiddler 进行 WebSocket 请求的转发,需完成几个关键设置: #### 配置 Fiddler 支持 WebSocket 确保安装最新版本的 Fiddler[^3]。启动应用程序后,在菜单栏找到 `Tools` -> `Options`。 在弹出窗口中的左侧列表里选择 `Protocols` 选项卡,确认已勾选 `Allow custom protocols (e.g., ws://)` 复选框以启用对 WebSocket 协议的支持。 #### 设置浏览器或其他客户端指向本地代理服务器 为了让目标应用或浏览器通过 Fiddler 发送 WebSocket 流量,必须将其配置为使用本地主机作为 HTTP/HTTPS 代理服务器,默认情况下通常是 `localhost:8888` 或者根据具体环境调整端口号[^2]。 对于某些特定的应用程序可能还需要额外指定 SOCKS v5 类型的代理连接方式[^1]。 #### 解密 HTTPS 中封装的 WebSocket 数据流 如果要捕获并查看加密后的 WebSocket 流量,则需要让 Fiddler 安装其根证书到系统的受信任存储区,并允许解码 HTTPS 流量。这一步骤同样适用于任何其他类型的 SSL/TLS 加密通信会话监控需求[^4]。 ```bash # 在命令提示符下运行此命令来导入Fiddler生成的安全证书 certutil -addstore "Root" C:\Users\<YourUsername>\Documents\Fiddler2\fiddlerroot.cer ``` #### 自定义规则处理 WebSocket 消息 可以通过编写自定义 JavaScript 规则进一步增强 Fiddler 功能,比如自动响应来自特定 URL 的 WebSocket 握手请求或将消息重定向至不同的目的地。这些脚本可以在 `Rules` -> `Customize Rules...` 下编辑。 ```javascript // 添加这段代码片段到 OnBeforeRequest 函数内以便拦截所有 wss:// 开头的目标地址 if(oSession.fullUrl.StartsWith("wss://example.com")) { oSession.utilCreateProxyTunnel(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值