Balík ws v Node prijíma HTTP agenta vo svojich možnostiach pripojenia. Pre forward proxy môže fragment ES modulu použiť 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);
});

Predpokladá to, že oba balíky sú už súčasťou aplikácie. URL WebSocketu vyberá službu, URL agenta vyberá proxy. HTTP adresa zo zoznamu HTTP proxy môže vyplniť URL agenta pre povolený verejný test WSS bez prihlasovacích údajov k proxy; overte prístup k skutočnému koncovému bodu služby.

HttpsProxyAgent vytvára tunel HTTP CONNECT a odovzdáva pripojený transport klientovi. Podporuje pripojenia WebSocket aj požiadavky HTTPS, takže aplikácia nemusí výmenu CONNECT zostavovať sama.

Pokračujte bežným spracovaním open, message a close v aplikácii. Udalosť open označuje dokončenie WebSocket handshaku na zvolenej trase; samotné vytvorenie objektu JavaScript ho nedokončilo.

Súvisiace články