Το πακέτο ws του Node δέχεται έναν πράκτορα HTTP στις επιλογές σύνδεσής του. Για μπροστινό proxy, ένα τμήμα μονάδας ES μπορεί να χρησιμοποιήσει 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);
});

Αυτό προϋποθέτει ότι και τα δύο πακέτα είναι ήδη μέρος της εφαρμογής. Το URL του WebSocket επιλέγει την υπηρεσία· το URL του πράκτορα επιλέγει το proxy. Μια διεύθυνση HTTP από τη λίστα HTTP proxy μπορεί να συμπληρώσει το URL του πράκτορα για επιτρεπόμενη δημόσια δοκιμή WSS χωρίς διαπιστευτήρια proxy· ελέγξτε την πρόσβαση στο πραγματικό σημείο τέλους της υπηρεσίας.

Το HttpsProxyAgent δημιουργεί σήραγγα HTTP CONNECT και παραδίδει τη συνδεδεμένη μεταφορά στον πελάτη. Υποστηρίζει συνδέσεις WebSocket καθώς και αιτήματα HTTPS, οπότε η εφαρμογή δεν χρειάζεται να κατασκευάσει μόνη της την ανταλλαγή CONNECT.

Συνεχίστε με τη συνήθη διαχείριση open, message και close της εφαρμογής. Το συμβάν open σηματοδοτεί την ολοκλήρωση της χειραψίας WebSocket στη διαδρομή που επιλέχθηκε· η απλή δημιουργία του αντικειμένου JavaScript δεν την ολοκλήρωσε.

Σχετικά άρθρα