相关疑难解决方法(0)

HAProxy + WebSocket断开连接

我正在使用HAProxy将子域上的请求发送到node.js应用程序.

我无法让WebSockets工作.到目前为止,我只能让客户端建立WebSocket连接,但之后很快就会出现断开连接.

我在ubuntu上.我一直在使用的各种版本socket.ionode-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
Run Code Online (Sandbox Code Playgroud)

我已经浏览了网络和邮件列表但无法获得任何建议的解决方案.

(ps这可能是针对serverfault,但是还有其他的HAProxy问题,所以我选择在这里发帖)

reverse-proxy haproxy websocket node.js

43
推荐指数
3
解决办法
4万
查看次数

通过Apache提供的页面访问socket.io服务器

我希望这不是一个非常愚蠢的问题,但我正在学习如何为我的网站实现socket.io服务器来生成实时应用程序,但我的问题是我无法弄清楚如何在Apache服务环境中实现所述应用程序.目前,当我运行node server.js开始我socket.io服务器,我必须通过访问访问它http://localhost:XXXX哪里XXXX是什么端口我把它安装到,自然.我不希望我的网站被强制在这样的备用端口上查看,但我显然无法将服务器连接到端口80,因为Apache正在监听它.

显然,一个自然的解决方案是停止Apache服务,然后在端口80上节点服务器以避免冲突,但我不想牺牲Apache提供的所有功能.基本上,我想继续通过端口80上的Apache服务我的网站,并通过socket.io在端口3000上集成实时应用程序的某些方面,让我们说.

有没有办法做到这一点,避免我不想要的东西?这些事情是1)让用户:3000在URL中访问我的网站,2)禁用Apache,3)使用iframe.

提前致谢.

apache port node.js socket.io

10
推荐指数
1
解决办法
8507
查看次数

标签 统计

node.js ×2

apache ×1

haproxy ×1

port ×1

reverse-proxy ×1

socket.io ×1

websocket ×1