Javascript 是否可以无缝重定向WebSocket?
我知道可以通过反向代理(如Nginx、HAproxy等)传递请求,但我需要将请求重定向到同一域后缀中的另一个公共服务器。即从Javascript 是否可以无缝重定向WebSocket?,javascript,nginx,websocket,Javascript,Nginx,Websocket,我知道可以通过反向代理(如Nginx、HAproxy等)传递请求,但我需要将请求重定向到同一域后缀中的另一个公共服务器。即从wss://example.com至wss://ws1.example.com 以下是一个例子: 我需要重定向来自Nginx或Java的请求。 可以组织吗?我是否需要在客户端处理重定向,或者这段代码就足够了 var socket = new WebSocket("wss://example.com"); socket.onopen = function() { al
wss://example.com
至wss://ws1.example.com
以下是一个例子: 我需要重定向来自Nginx或Java的请求。 可以组织吗?我是否需要在客户端处理重定向,或者这段代码就足够了
var socket = new WebSocket("wss://example.com");
socket.onopen = function() {
alert("Connection established.");
};
socket.onclose = function(event) {
alert('Connection closed');
};
socket.onmessage = function(event) {
alert("Data: " + event.data);
};
socket.onerror = function(error) {
alert("Error " + error.message);
};
根据:
一旦发送了客户端的开始握手,客户端必须等待服务器的响应,然后再发送任何进一步的数据。客户端必须验证服务器的响应,如下所示:
要手动将连接移动到另一台服务器,您必须使用服务器端代理或客户端方案。我认为这取决于客户端实现。大多数ws-client在HTTP握手期间不遵循重定向。你们知道遵循重定向的浏览器客户端吗?我不这么认为。客户端可以从响应中获取新的位置url,断开连接并重新连接到新的url。我怀疑当前的实现会抛出错误。也许是一些客户端ws-library,比如socket.io?这与以下重定向相关,但没有任何进展。是的,但我不想强迫客户机管理此逻辑。当然,这是一个解决办法,但希望将来的重定向将得到正常支持。