我对设置Socket.IO服务器+ Rails
Web应用程序很感兴趣。但是,正如许多人所知,支持WebSocket的Web服务器并不多。到目前为止,这是我的两次尝试:
http://www.letseehere.com/reverse-proxy-web-
sockets
http://github.com/nodejitsu/node-http-
proxy
http://github.com/substack/bouncy
这些都是我尝试过的事情,我很好奇还有谁沿着这些路线走了,终于找到了可以解决的问题(当然,还有他们为使它起作用而做了些什么)。
根据alessioalex的要求,这是我的配置文件。我删除了所有现有注释,但添加了一些我自己认为不重要的注释。
但是,描述此配置的所有部分的功能超出了本文的范围,但是您很可能可以在HAProxy网站上找到必要的文档。
global
maxconn 4096
pidfile /var/run/haproxy.pid
defaults
mode http
frontend all
bind 0.0.0.0:80
mode tcp
maxconn 200000
timeout client 86400000
default_backend www_backend
# Any URL beginning with socket.io will be flagged as 'is_websocket'
acl is_websocket path_beg /socket.io
acl is_websocket hdr(Upgrade) -i WebSocket
acl is_websocket hdr_beg(Host) -i ws
# The connection to use if 'is_websocket' is flagged
use_backend socket_backend_http if is_websocket
tcp-request inspect-delay 500ms
tcp-request content accept if HTTP
backend www_backend
option httplog
option httpclose
balance roundrobin
option forwardfor
timeout server 30000
timeout connect 4000
server thin1 localhost:4001 weight 1 maxconn 1024 check
server thin2 localhost:4002 weight 1 maxconn 1024 check
server thin3 localhost:4003 weight 1 maxconn 1024 check
backend socket_backend_http
mode http
option httplog
option http-server-close
option forceclose
no option httpclose
balance roundrobin
option forwardfor
timeout queue 5000
timeout server 86400000
timeout connect 86400000
timeout check 1s
server socket1 localhost:5001 weight 1 maxconn 1024 check
正如我们所知,目前nginx稳定版本不能代理tcp连接。因此,如果express和Socket.io在同一个端口上工作,我们需要使用其他代理解决方案。 但还有其他方法可以绕过这个问题: 如果我们将socket.io设置为侦听不同的端口,那么express将侦听。例如:nginx代理80端口到8000端口,express侦听8000端口,socket.io侦听8001端口,客户机直接连接到socke
本文向大家介绍tomcat服务器宕机解决方案,包括了tomcat服务器宕机解决方案的使用技巧和注意事项,需要的朋友参考一下 报错信息: 每次出现这个报错都会导致tomcat应用服务器停机,加了下面的java代码后就再也没有停过了。 解决办法: 编写Java代码 @WebListener,这个注解相当于在web.xml配置如下内容 解决方案可以参考如下网址 当然还有就是我再参考这个解决方案的时候,发
问题内容: 我目前有一个用.Net编写的TCP服务器应用程序,用于接收消息并将其提交给客户端。我正在考虑构建Web应用程序,因此需要通信层。 我已经构建了一个Node.JS +Socket.IO应用程序,该应用程序连接到我的TCP服务器,然后将通信推送到Web应用程序,并且一切正常。 我刚刚读过SignalR作为将其保留在.Net堆栈中的替代方法。 但是我也发现我可以编写一个C#Websocket
“C:\Program Files\java\jdk1.8.0_05\bin\javaw.exe”-jar“%1”%* 另一个解决方案提供了在PATH环境变量中的引用,我在其中有: C:\程序文件\java\jdk1.8.0_05\bin 我还尝试过: 联合罐 而且
本文向大家介绍Java服务器端跨域问题解决方案,包括了Java服务器端跨域问题解决方案的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了java服务器端跨域问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 现在很多开发的 API 都支持 ajax 直接请求,这样就会导致跨域的问题,解决跨域的问题一方面可以从前端,另一方面就是服
本文向大家介绍nginx服务器通过配置来解决API的跨域问题,包括了nginx服务器通过配置来解决API的跨域问题的使用技巧和注意事项,需要的朋友参考一下 前言 最近在采用jquery ajax调用http请求时,发现了一系列问题: 如采用firebug调试API请求(这个API是自己服务器的应用),看到服务器明明返回200状态,response返回数据也是json格式,但ajax返回的error