从2天前开始,nginx开始支持websocket连接,因此我试图让我的nginx-nodejs-socket.io应用程序在没有HAproxy ect的情况下工作(虽然没有多less运气)。 我想要达到的是nginx发送只有websocket连接请求到支持的服务器,或websocket服务器,socket.io更准确,而在同一时间nginx将服务PHP文件,所有的静态内容,包括HTML文件。我不想快递服务静态内容(如果这是可能的话)。 这是我的nginx.conf #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr – $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout […]
我们正试图devise一个能够处理超过64k的websocket的架构。 我们首先尝试与亚马逊ELB,但其devise不允许意外的交通高峰或websocket。 (TCP模式意外地超时了websockets) 使用HAProxy,这些限制不适用,但我们将被限制在HA和后端服务器之间维护的约64k个WebSockets。 想到多种解决scheme: 多个HAProxy实例,负载平衡与DNS(Route53有一个加权选项) 两个HAProxy实例Keepalived,多个内部IP地址(不知道它是否可行) 有没有更好的方法来做到这一点?
WebSocket协议是HTTP协议的扩展。 然而,Apache2的代理模块似乎并不知道,并抛出重要的标题,将呼叫转换为标准的HTTP调用。 有没有办法让Apache2(1)理解WebSocket或(2)只是盲目地传递任何它得到?