2.3.30 • Published 3 years ago
magic-reverse-proxy v2.3.30
Magic Reverse Proxy
Getting started into Magic Reverse Proxy!
Installation
How it works?
In this basic sample our main goal is to forward all websocket traffic from port 8080 to port 1234.
Creating a basic WebSocket server:
import http from 'http';
import WebSockets from 'websocket';
import { createProxy } from 'magic-reverse-proxy';
const server = http.createServer((req, res) => {
//Reject useless requests...
res.writeHead(403).end();
});
server.listen(1234, function () {
console.log('Destination server is running on port 1234!');
});
const WebSockServer = new WebSockets.server({
httpServer: server,
maxReceivedFrameSize: 65536,
maxReceivedMessageSize: 65536
});
WebSockServer.on('request', (request) => {
console.log('WebSocket connected over [Client -> localhost:8080 -> localhost:1234]');
let sock = request.accept();
sock.on('message', (msg) => {
//Print in the console the data recepted from client.
console.log(msg.utf8Data);
})
});
Creating the Magic Proxy trigger and binding to specific port:
let proxy = createProxy({
allow_unknown_host: false, //Drop connections from unknown hosts
allow_websockets: true, //Allow websocket to be proxied as well
http: {
port: 8080, //Define HTTP proxy to port 80
enabled: true, //Enable HTTP proxy
start_callback: () => {
console.log('Magic proxy server is running on port 8080!');
},
middlewares: [] //Stack of middlewares to be loaded into HTTP server
},
proxies: [
{
domain: '*', //Proxy all websocket traffic to ws://localhost:1234
timeout: 10000, //Timeout for connection
round: 0, //Round-Robin index of destinations to proxy all requests
destination: ['http://localhost:1234/'], //Array with destinations (Round-Robin will be used to load balance)
sockDestination: ['ws://localhost:1234'] //Array with websocket destinations (Round-Robin will be used to load balance)
}
],
default_proxy: {
timeout: 10000, //Timeout for connection
round: 0, //Round-Robin index of destinations to proxy all requests
destination: ['http://localhost:1234/'] //Array with destinations (Round-Robin will be used to load balance)
}
});
//Bind proxy with specified configurations
proxy.bind();
2.3.28
3 years ago
2.3.27
3 years ago
2.3.29
3 years ago
2.3.30
3 years ago
2.3.26
3 years ago
2.3.25
3 years ago
2.3.24
3 years ago
2.3.23
3 years ago
2.3.22
3 years ago
2.3.20
3 years ago
2.3.21
3 years ago
2.2.20
3 years ago
2.2.19
3 years ago
2.1.18
3 years ago
2.1.19
3 years ago
2.1.16
3 years ago
2.1.17
3 years ago
2.1.15
3 years ago
1.1.15
3 years ago
1.1.14
3 years ago
1.1.13
3 years ago
1.1.12
3 years ago
1.1.11
3 years ago
1.1.10
3 years ago
1.1.9
3 years ago
1.0.8
3 years ago
0.0.8
4 years ago
0.0.7
4 years ago
0.0.6
4 years ago
0.0.5
4 years ago
0.0.4
4 years ago
0.0.3
4 years ago
0.0.2
4 years ago
0.0.1
4 years ago