V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lanz0519
V2EX  ›  Node.js

最近遇到一个关于 node-http-proxy 代理 websocket 的问题

  •  
  •   lanz0519 · 2020-12-28 18:33:47 +08:00 · 2834 次点击
    这是一个创建于 1431 天前的主题,其中的信息可能已经有所发展或是发生改变。
    了解到 node-http-proxy 对于 websocket 的支持是基于 upgrade 事件,而这个事件又不得不用到 httpServer,但是我遇到一个情景就是没办法获取到 httpServer 对象,而且我需要根据不同的 url 代理到不同端口的 websocket,有没有什么其他办法能代理
    5 条回复    2021-01-05 11:52:51 +08:00
    zy445566
        1
    zy445566  
       2020-12-31 10:25:57 +08:00
    那你就直接解析 socket 数据,看是不是 websocket 的 frame 就好了
    zy445566
        2
    zy445566  
       2020-12-31 10:27:07 +08:00
    我这里实现了 websocket 协议,你可以看看对你有没有帮助: https://github.com/zy445566/before-server/blob/master/util/websocket.js
    xiaomimix5
        3
    xiaomimix5  
       2021-01-02 13:52:29 +08:00
    @zy445566 你的这个协议是否可以实现 node 后端服务绑定服务器,以达到授权指定的服务器方可跑 node 后端服务?
    (获取到服务器硬件唯一信息,加密授权 key 的方式授权指定的服务器运行 node 后端服务)
    zy445566
        4
    zy445566  
       2021-01-04 09:46:23 +08:00
    @xiaomimix5 before-server 可以实现,但是这个协议不是我的协议,是 websocket 本身的协议
    lanz0519
        5
    lanz0519  
    OP
       2021-01-05 11:52:51 +08:00
    @zy445566 谢谢,已经解决了,差不多也是先判断是不是 websocket
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1077 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.