I know that it is possible to pass requests through the reverse proxy (like Nginx, HAproxy and so on) but I need to redirect requests to another public server in the same domain suffix. I.e. from wss://example.com
to wss://ws1.example.com
.
Here is an example:
I need to redirect requests from Nginx or Java. Is to possible to organize? Do I need to handle redirects on a client side or this code is enough?
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);
};
Per the webSocket specification:
So, it's purely up to the client whether they want to support redirects or not and is clearly not something you can rely on unless you find in extensive testing that all relevant clients support it (which they apparently do not).
You will either have to go with something like a server-side proxy or a client-side scheme to manually move the connection to another server.