Povezivanje Node ws klijenta kroz HTTP proxy agent
Prosledite HttpsProxyAgent konstruktoru ws u Nodeu da bi WebSocket rukovanje išlo kroz prednji proxy.
Node paket ws prihvata HTTP agent u svojim opcijama veze. Za prednji proxy, fragment ES modula može koristiti HttpsProxyAgent:
import WebSocket from 'ws';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent('http://proxy.example.net:8080');
const socket = new WebSocket('wss://socket.example.net/events', {
agent,
});
socket.on('error', error => {
console.error(error.message);
});
To pretpostavlja da su oba paketa već deo aplikacije. WebSocket URL bira uslugu, a URL agenta bira proxy. HTTP adresa sa liste HTTP proxyja može popuniti URL agenta za dozvoljeni javni WSS test bez proxy akreditiva; proverite pristup stvarnoj krajnjoj tački usluge.
HttpsProxyAgent uspostavlja HTTP CONNECT tunel i predaje povezani transport klijentu. Podržava WebSocket veze kao i HTTPS zahteve, pa aplikacija ne mora sama da gradi CONNECT razmenu.
Nastavite sa uobičajenom obradom open, message i close u aplikaciji. Događaj open označava završetak WebSocket rukovanja na izabranoj ruti; samo stvaranje JavaScript objekta to nije dovršilo.