lanz0519
V2EX  ›  Node.js

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

  •  
  •   lanz0519 · Dec 28, 2020 · 3594 views
    This topic created in 1977 days ago, the information mentioned may be changed or developed.
    了解到 node-http-proxy 对于 websocket 的支持是基于 upgrade 事件,而这个事件又不得不用到 httpServer,但是我遇到一个情景就是没办法获取到 httpServer 对象,而且我需要根据不同的 url 代理到不同端口的 websocket,有没有什么其他办法能代理
    5 replies    2021-01-05 11:52:51 +08:00
    zy445566
        1
    zy445566  
       Dec 31, 2020
    那你就直接解析 socket 数据,看是不是 websocket 的 frame 就好了
    zy445566
        2
    zy445566  
       Dec 31, 2020
    我这里实现了 websocket 协议,你可以看看对你有没有帮助: https://github.com/zy445566/before-server/blob/master/util/websocket.js
    xiaomimix5
        3
    xiaomimix5  
       Jan 2, 2021
    @zy445566 你的这个协议是否可以实现 node 后端服务绑定服务器,以达到授权指定的服务器方可跑 node 后端服务?
    (获取到服务器硬件唯一信息,加密授权 key 的方式授权指定的服务器运行 node 后端服务)
    zy445566
        4
    zy445566  
       Jan 4, 2021
    @xiaomimix5 before-server 可以实现,但是这个协议不是我的协议,是 websocket 本身的协议
    lanz0519
        5
    lanz0519  
    OP
       Jan 5, 2021
    @zy445566 谢谢,已经解决了,差不多也是先判断是不是 websocket
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3319 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 11:04 · PVG 19:04 · LAX 04:04 · JFK 07:04
    ♥ Do have faith in what you're doing.