我有一个托管在lighttpd上的网站,可以通过“www”子域名访问。我还有一个使用node.js和socket.io创建的监听端口8124的聊天服务器。
我希望所有客户端流量都在端口80上进行,通过将所有对“chat”子域的请求重定向到端口8124来实现。因此,我启用了mod_proxy,并在lighttpd.conf中添加了以下内容:
在客户端,当我连接到 WebSocket 时,
我从Node.js收到了正确的信息:
但浏览器显示错误:
当然,如果我直接连接到8124端口,一切都能正常工作:
但是,正如我所说的,我希望所有客户端流量都在80端口上。这可能吗?
我希望所有客户端流量都在端口80上进行,通过将所有对“chat”子域的请求重定向到端口8124来实现。因此,我启用了mod_proxy,并在lighttpd.conf中添加了以下内容:
$HTTP["host"] == "chat.myserver.com" {
proxy.server = (
"" => ((
"host" => "78.128.79.192",
"port" => "8124"
))
)
}
在客户端,当我连接到 WebSocket 时,
var socket = io.connect('http://chat.myserver.com');
我从Node.js收到了正确的信息:
debug - client authorized
info - handshake authorized 6067470561567883577
debug - setting request GET /socket.io/1/websocket/6067470561567883577
debug - set heartbeat interval for client 6067470561567883577
debug - client authorized for
debug - websocket writing 1::
但浏览器显示错误:
Firefox can't connect to server ws://chat.myserver.com/socket.io/1/websocket/6067470561567883577
当然,如果我直接连接到8124端口,一切都能正常工作:
var socket = io.connect('http://www.myserver.com:8124');
但是,正如我所说的,我希望所有客户端流量都在80端口上。这可能吗?
ws://<mydomain.com>/socket.io/1/<randomNumbers>/ : 'Connection' header is missing
。你的HAProxy配置文件是什么样子的?因为你说它可以使用(而不是lighttp mod_proxy)。非常感谢! - D4V1D