Povezivanje Node ws klijenta kroz HTTP proxy agenta
Proslijedite HttpsProxyAgent konstruktoru ws u Nodeu kako bi WebSocket rukovanje išlo kroz prednji proxy.
Nodeov paket ws prihvaća HTTP agenta 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ć dio aplikacije. WebSocket URL bira uslugu, a URL agenta bira proxy. HTTP adresa s popisa HTTP proxyja može popuniti URL agenta za dopušteni javni WSS test bez proxy vjerodajnica; provjerite pristup stvarnoj završnoj točki usluge.
HttpsProxyAgent uspostavlja HTTP CONNECT tunel i predaje povezani prijenos klijentu. Podržava WebSocket veze kao i HTTPS zahtjeve, pa aplikacija ne mora sama graditi CONNECT razmjenu.
Nastavite s uobičajenom obradom open, message i close u aplikaciji. Događaj open označava završetak WebSocket rukovanja na odabranoj ruti; samo stvaranje JavaScript objekta to nije dovršilo.