我现在有一个监听端口80的Apache2,还有一个在高级未注册端口(50214)上运行的自制游戏服务器。我用Javascript重写游戏,并计划在80端口上通过websockets发送网络通信,以绕过许多公司和大学设置的防火墙。
如何配置websocket服务器来侦听80上的websocket连接,并将它们解压缩并转发到监听50214的游戏服务器,而不干扰apache?
我应该使用什么websocket服务器实现?这通常是怎么做到的?
发布于 2010-11-15 01:47:33
您不能让两个服务同时监听同一个端口,因此需要第二个IP地址。
老实说,如果我要实现这一点,我只会在前端使用apache,使用mod_proxy代理您的游戏请求到您的自定义服务器,它只会监听本地主机。这样就不需要有两个IP地址了。
发布于 2010-11-15 02:02:46
一个想法:在现有的apache实例中设置一个虚拟主机,并在那里设置一个AJAX响应程序,它是用PHP、Python或你最喜欢的语言编写的。您的javascript客户端代码对apache vhost进行AJAX调用,AJAX响应程序对其他服务器进行任何必要的调用以满足客户端请求。
发布于 2014-06-18 07:28:02
看看反向HTTP代理!
它几乎只是将不同的请求重定向到特定的端口,例如:
example.com/ws重定向到端口8001,其余重定向到8000例如,看看节点-http-代理,它非常容易使用,甚至还有一个通过socket.io使用websockets的简单例子(当然,对于ws服务器,您可以使用任何您喜欢的)。
编辑:同样,apache的mod_proxy模块也值得检查,作为一种替代(新版本的apache也支持mod_proxy_wstunnel模块)。
https://serverfault.com/questions/201825
复制相似问题