ເຊື່ອມຕໍ່ ws client ຂອງ Node ຜ່ານ HTTP proxy agent
ສົ່ງ HttpsProxyAgent ໃຫ້ constructor ws ຂອງ Node ເພື່ອໃຫ້ WebSocket handshake ຜ່ານ forward proxy.
ແພັກເກດ ws ຂອງ Node ຮັບ HTTP agent ໃນຕົວເລືອກການເຊື່ອມຕໍ່. ສຳລັບ forward proxy ຊິ້ນສ່ວນຂອງ ES module ສາມາດໃຊ້ 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 ຂອງ agent ເລືອກ proxy. ທີ່ຢູ່ HTTP ຈາກລາຍຊື່ HTTP proxy ສາມາດຕື່ມ URL ຂອງ agent ສຳລັບການທົດສອບ WSS ສາທາລະນະທີ່ອະນຸຍາດໂດຍບໍ່ມີຂໍ້ມູນປະກອບ proxy; ກວດສອບການເຂົ້າເຖິງຈຸດສຸດທ້າຍຂອງບໍລິການຕົວຈິງ.
HttpsProxyAgent ສ້າງອຸໂມງ HTTP CONNECT ແລະ ສົ່ງການຂົນສົ່ງທີ່ເຊື່ອມຕໍ່ແລ້ວໃຫ້ client. ມັນຮອງຮັບທັງການເຊື່ອມຕໍ່ WebSocket ແລະ ຄຳຮ້ອງ HTTPS, ດັ່ງນັ້ນແອັບຯບໍ່ຕ້ອງສ້າງການແລກປ່ຽນ CONNECT ເອງ.
ສືບຕໍ່ການຈັດການ open, message ແລະ close ຕາມປົກກະຕິຂອງແອັບຯ. ເຫດການ open ສະແດງວ່າ WebSocket handshake ສຳເລັດໃນເສັ້ນທາງທີ່ເລືອກ; ການສ້າງວັດຖຸ JavaScript ຢ່າງດຽວຍັງບໍ່ໄດ້ເຮັດໃຫ້ສຳເລັດ.