Đối với một lệnh gọi HTTPS phía Express dùng chính sách proxy của môi trường:

import https from 'node:https';
import { ProxyAgent } from 'proxy-agent';

const agent = new ProxyAgent();
const request = https.get('https://service.example/data', { agent }, response => {
  console.log(response.statusCode);
  response.resume();
});
request.on('error', error => console.error(error.message));

Hàm khởi tạo ProxyAgent hiện tại nhận một object tùy chọn. Nếu không ghi đè, nó đọc chính sách môi trường được hỗ trợ qua proxy-from-env và chọn agent cấp thấp hơn cho URL đó.

Đối với một tuyến cố định thuộc sở hữu của ứng dụng, hãy thay thế lựa chọn qua object tùy chọn đó:

new ProxyAgent({ getProxyForUrl: () => proxyUrl })

Một callback hằng không áp dụng các quyết định NO_PROXY của môi trường mặc định. Khi thay thế nó, hãy triển khai các ngoại lệ trực tiếp cần thiết trong bộ chọn của bạn.

Đối với một lệnh gọi dịch vụ công cộng được phép, danh sách proxy miễn phí cung cấp các ứng viên cho proxyUrl; chọn một giao thức mà agent hỗ trợ. Scheme của URL proxy được trả về xác định giao thức của trung gian; https.get vẫn nêu tên dịch vụ thật. Giữ agent cho khối lượng công việc của nó và hủy nó khi tắt.

Listener của Express nhận các yêu cầu đến và không cấu hình kết nối gửi đi này. fetch dựa trên Undici cũng dùng một đầu vào vận chuyển khác: fetch của Undici với ProxyAgent nhận một dispatcher, dùng bản phát hành gói tương thích với runtime của Node.

Bài viết liên quan