Paket ws v Node sprejme agenta HTTP v svojih možnostih povezave. Za posredni proxy lahko del modula ES uporabi 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 predpostavlja, da sta oba paketa že del aplikacije. URL WebSocket izbere storitev, URL agenta izbere proxy. Naslov HTTP s seznama proxyjev HTTP lahko zapolni URL agenta za dovoljen javni preizkus WSS brez poverilnic proxyja; preverite dostop do dejanske končne točke storitve.

HttpsProxyAgent vzpostavi tunel HTTP CONNECT in povezani transport preda odjemalcu. Podpira povezave WebSocket in zahteve HTTPS, zato aplikaciji ni treba sami zgraditi izmenjave CONNECT.

Nadaljujte z običajnim ravnanjem open, message in close v aplikaciji. Dogodek open označuje dokončanje rokovanja WebSocket na izbrani poti; samo ustvarjanje predmeta JavaScript ga ni dokončalo.

Sorodni članki