Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – HAProxy WebSocket断开连接大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用HAProxy发送请求,在子域,一个node.js应用程序。

我无法让WebSockets工作。到目前为止,我只能得到客户端建立一个WebSocket连接,但后来有一个断开,紧随其后很快。

我在Ubuntu。我一直在使用各种版本的socket.io和node-websocket-server。客户端是Safari或Chrome的最新版本。 HAProxy版本为1.4.8

这是我的HAProxy.cfg

global 
    maxconn 4096 
    pidfile /var/run/haproxy.pid 
    daemon 

defaults 
    mode http 

    maxconn 2000 

    option http-server-close
    option http-pretend-keepalive

    contimeout      5000
    clitimeout      50000
    srvtimeout      50000

frontend http_PROXY
    bind *:80 

    timeout client  86400000

    #default server
    defaulT_Backend Nginx_SERVERS

    #node server
    acl host_node_sockettest hdr_beg(host) -i mysubdomain.mydomain

use_BACkend NODE_SOCKETtest_SERVERS if host_node_sockettest


BACkend Nginx_SERVERS 
server THIS_Nginx_SERVER 127.0.0.1:8081

BACkend NODE_SOCKETtest_SERVERS
timeout queue   5000
timeout server  86400000

server THIS_NODE_SERVER localhost:8180 maxconn 200 check

任何帮助,真的很感激。我拖网的网络和邮件列表,但不能得到任何建议的解决方案工作。

(p.s.这可以是serverfault,但有其他HAProxy问题上s.O,所以我选择了在这里张贴)

谢谢
罗斯

解决方法

升级到最新版本的socket.io(0.6.8 – > npm install socket.io@0.6.8,已修补使用HAProxy)
并下载最新版本的HAProxy。

这里是一个示例配置文件

global
    maxconn     4096 # @R_598_10586@l Max Connections. This is dependent on ulimit
    nbproc      2

defaults
    mode        http

frontend all 0.0.0.0:80
    timeout client 5000
    defaulT_Backend www_BACkend
    acl is_websocket hdr(UpgradE) -i WebSocket
    acl is_websocket hdr_beg(Host) -i ws

    use_BACkend sockeT_Backend if is_websocket

BACkend www_BACkend
    balance roundrobin
    option forWARDfor # This sets X-ForWARDed-For
    timeout server 5000
    timeout connect 4000
    server server1 localhost:8081 weight 1 maxconn 1024 check
    server server2 localhost:8082 weight 1 maxconn 1024 check
    server server3 localhost:8083 weight 1 maxconn 1024 check

BACkend sockeT_Backend
    balance roundrobin
    option forWARDfor # This sets X-ForWARDed-For
    timeout queue 5000
    timeout server 5000
    timeout connect 5000
    server server1 localhost:8081 weight 1 maxconn 1024 check
    server server2 localhost:8082 weight 1 maxconn 1024 check
    server server3 localhost:8083 weight 1 maxconn 1024 check

大佬总结

以上是大佬教程为你收集整理的node.js – HAProxy WebSocket断开连接全部内容,希望文章能够帮你解决node.js – HAProxy WebSocket断开连接所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。