Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
Deno proxy tạo HttpClient và kiểm quyền mạng

Deno proxy tạo HttpClient và kiểm quyền mạng

Chuyên viên Kỹ thuật ProxyVN 06-04-2026 Đang tính... phút đọc

Deno proxy kết hợp cấu hình HttpClient với hệ thống quyền của runtime. Một yêu cầu bị chặn bởi quyền mạng chưa phải lỗi gateway; ngược lại, cấp quyền cho script chưa chứng minh proxy đã chuyển request tới origin. ProxyVN hướng dẫn anh em đặt cấu hình đúng phạm vi và kiểm đầu ra trước khi áp dụng.

Deno proxy và phạm vi của tác vụ

Deno mở rộng Fetch API bằng HttpClient có cấu hình TLS và proxy. Client được tạo trước rồi truyền vào fetch; nếu bỏ quên thuộc tính client ở lần gọi, request đó không còn nằm trong cấu hình vừa chuẩn bị. Vì thế cần kiểm cả nơi tạo object lẫn nơi sử dụng nó.

Khác với một script có quyền mạng mặc định rộng, Deno quản lý quyền cho truy cập env và network. Thông báo thiếu quyền xuất hiện trước hoặc trong quá trình thực hiện request phải được phân biệt với lỗi DNS, lỗi xác thực hay lỗi chứng chỉ. Không cấp mọi quyền chỉ để làm mất thông báo đầu tiên.

Ví dụ sử dụng proxy HTTP và hợp đồng JSON của endpoint lab. Tài khoản Basic, nếu gateway yêu cầu, nằm trong cấu hình proxy của client. Token ứng dụng không được dùng thay cho mật khẩu gateway và cũng không được chép vào mọi header gửi đi.

Mục tiêu là tạo một chương trình nhỏ, đóng client đúng vòng đời và chứng minh đường request bằng log. Kết quả trên một bản Deno cụ thể chỉ có phạm vi của phiên bản và ca đã chạy. Các kiểu transport khác như SOCKS5 cần được kiểm riêng theo tài liệu hiện hành.

Các tên khóa và tùy chọn cần được đối chiếu với tài liệu chính thức của công cụ. Phần hướng dẫn dưới là thiết kế triển khai và ca kiểm minh họa, không phải báo cáo đã chạy tất cả các trường hợp trên một gateway thương mại.

Deno proxy chuẩn bị đầu vào có thể kiểm lại

Ghi deno --version, lưu probe.ts và cấp đúng ba biến LAB_URL, PROXY_URL, LAB_RUN_ID. Origin trả JSON chứa run_id và không chuyển hướng ngoài lab. Bắt đầu với --allow-env chỉ liệt kê ba biến; quyền --allow-net phải được thu hẹp theo hostname và cổng thực tế sau khi xác định những địa chỉ runtime cần truy cập.

Đặt mục tiêu của bài thử ở Deno fetch có HttpClient, với đầu ra là JSON của origin lab. Trước khi chạy, ghi trạng thái ban đầu và xác định nơi sẽ quan sát run_id và log proxy. Nếu chưa có nguồn dữ liệu hoặc môi trường tương ứng, giữ ca đó ở trạng thái chưa chạy; không lấy một thông báo cú pháp hợp lệ thay cho kết quả truyền dữ liệu.

Thư mục tiến trình Deno thử cần tách khỏi dữ liệu đang vận hành. Mẫu probe.ts cùng quyền allow-env chỉ chứa địa chỉ minh họa và tên biến; credential thật được cấp từ môi trường thử. Những ví dụ dùng Bash và PowerShell sẽ được ghi trong phần giải thích, vì cách đặt biến và quoting giữa hai shell khác nhau. Không dán nguyên cấu hình nhiều định dạng vào cùng một file.

Cấu hình đúng phạm vi

Cấu hình đúng phạm vi

Deno proxy ví dụ cấu hình tối thiểu

Các địa chỉ .test và giá trị biến dưới đây phải được thay bằng hạ tầng lab do anh em quản lý. Nội dung cấu hình và lệnh chạy được đặt chung để tiện theo dõi, nhưng cần lưu vào đúng file hoặc shell như phần giải thích. Không dùng credential thật trong bản sao để chia sẻ.

const target = Deno.env.get("LAB_URL");
const gateway = Deno.env.get("PROXY_URL");
const runId = Deno.env.get("LAB_RUN_ID") ?? "deno-lab";
if (!target || !gateway) throw new Error("Missing lab configuration");
const client = Deno.createHttpClient({ proxy: { url: gateway } });
try {
  const response = await fetch(target, {
    client,
    signal: AbortSignal.timeout(15000),
    headers: { "X-Lab-Run": runId },
  });
  if (!response.ok) throw new Error(`HTTP ${response.status}`);
  const data = await response.json();
  if (data.run_id !== runId) throw new Error("Run ID mismatch");
  console.log({ status: response.status, run_id: data.run_id });
} finally {
  client.close();
}

Ví dụ dùng client tường minh và finally để đóng tài nguyên kể cả khi status sai hay JSON parse lỗi. Cần chạy bằng Deno, không dùng Node để suy ra hỗ trợ cho thuộc tính client. Chạy deno check giúp kiểm kiểu trên phiên bản hiện tại nhưng chưa kiểm đường mạng.

Trong ca thực tế, đọc thêm content type và schema trước khi sử dụng các trường khác. Assertion run_id chỉ nhận diện lượt gọi tới origin, không chứng minh toàn bộ dữ liệu của ứng dụng hợp lệ. Header X-Lab-Run không giả địa chỉ IP và không thay thế access log gateway.

Lệnh chạy quyền nên dùng allow-env theo danh sách và allow-net theo địa chỉ lab. Quyền cần cấp có thể liên quan target và proxy tùy đường API, bản runtime và redirect; hãy kiểm ca âm thiếu quyền rồi ghi lại danh sách tối thiểu đã xác minh, không sao chép một danh sách bất kỳ từ môi trường khác.

Bảng: Deno proxy ví dụ cấu hình tối thiểu

Thành phần

Mục đích kiểm

Bằng chứng cần có

probe.ts cùng quyền allow-env

Nguồn cấu hình

File và phạm vi hiệu lực

JSON của origin lab

Đầu ra tác vụ

run_id và log proxy

SOCKS5 và transport riêng

Ranh giới riêng

Ca kiểm độc lập nếu áp dụng

Deno proxy cơ chế và nguồn cấu hình

Nhóm ca đầu xác định cơ chế của Deno fetch có HttpClient. Kiểm nguồn cấu hình trước khi đo đường mạng giúp nhận ra trường hợp công cụ đang dùng một giá trị khác với file vừa sửa.

Gắn client vào fetch

Object HttpClient chỉ có tác dụng với lần fetch nhận đúng client trong options.

Cách thực hiện trong lab: Chạy probe.ts có client tường minh rồi đối chiếu với bản thử không truyền client trên cùng target.

Bắt đầu phần gắn client vào fetch bằng một giả thuyết có thể kiểm. Với Deno fetch có HttpClient, điều cần xác định trước tiên là thành phần nào thực hiện kết nối và thành phần nào chỉ đọc cấu hình. Nếu hai vai trò bị gộp, một giá trị lưu đúng trong probe.ts cùng quyền allow-env có thể bị coi nhầm là bằng chứng request đã đi đúng tuyến.

Lập một hàng thử có tên riêng trước khi gọi lệnh. Hàng đó cần ghi phiên bản công cụ, vị trí thực thi, đầu vào được cấp và trạng thái JSON của origin lab trước lượt chạy. Các thông tin này giải thích được vì sao cùng một lệnh có thể tạo request ở máy này nhưng không tạo ở máy khác, nhất là khi đã có dữ liệu từ lần trước.

Khi đọc kết quả, tách phần công cụ báo khỏi phần hệ thống đối chứng quan sát. Dòng thông báo trong terminal mô tả phía client; log origin hoặc gateway mô tả nơi nhận kết nối. Chỉ nối hai dữ liệu bằng thời điểm và mã lượt phù hợp, tránh ghép một log cũ với output mới rồi suy rằng cả quy trình đã được xác minh.

Điều kiện chấp nhận: Log gateway cho biết sự khác nhau và run_id giúp nhận diện request tại origin. Nếu hai nhánh trùng đường, kiểm biến môi trường và cấu hình hệ thống trước khi kết luận API không tác dụng.

Quyền đọc biến môi trường

Deno kiểm quyền đọc env độc lập với quyền mở kết nối tới network.

Cách thực hiện trong lab: Cho phép đúng LAB_URL PROXY_URL LAB_RUN_ID rồi chạy ca thiếu một biến hoặc thiếu allow-env.

Phép so cho quyền đọc biến môi trường cần hai điều kiện chỉ khác ở yếu tố đang đánh giá. Giữ nguyên phiên bản, nguồn dữ liệu và danh tính lab khi thay cách cấu hình Deno fetch có HttpClient. Nếu đồng thời đổi nguồn hoặc trạng thái JSON của origin lab, kết quả khác nhau sẽ không chỉ ra được tác động của tuyến mạng.

Tạo bản mô tả đầu vào trước mỗi lượt thay vì ghi nhớ bằng mắt. Với cấu hình probe.ts cùng quyền allow-env, chỉ lưu các giá trị không nhạy cảm cùng tên nơi cấp secret. Có thể ghi rằng credential đến từ môi trường hoặc kho bí mật mà không chụp toàn bộ màn hình chứa giá trị. Thông tin để tái lập và thông tin bí mật là hai loại dữ liệu cần quản lý riêng.

So đầu ra theo điều kiện của ca, không chỉ theo tốc độ kết thúc. run_id và log proxy cần được đánh giá trong ngữ cảnh lượt chạy và trạng thái dữ liệu ban đầu. Một lượt chạy nhanh vì không phải làm tác vụ mạng vẫn có thể đúng chức năng, nhưng chưa phù hợp để so đường kết nối với lượt thật sự truyền dữ liệu.

Điều kiện chấp nhận: Lỗi cấu hình và lỗi quyền có nhãn riêng trước khi phát sinh request tới gateway. Không in toàn bộ env trong log để tìm một biến vì môi trường có thể chứa secret khác.

Đối chứng đầu ra

Đối chứng đầu ra

Deno proxy đối chứng dữ liệu và trạng thái

Nhóm tiếp theo tập trung vào JSON của origin lab. So dữ liệu và trạng thái ban đầu giúp phân biệt thao tác mới với kết quả được tái sử dụng từ lượt trước.

Quyền mạng theo host

Địa chỉ được cấp quyền phải phù hợp với target và gateway mà runtime thực sự truy cập.

Cách thực hiện trong lab: Thử ca quyền rỗng rồi từng danh sách hostname cổng trong lab và ghi lệnh chạy hiệu lực.

Đầu ra của quyền mạng theo host cần một điều kiện chấp nhận cụ thể. Với JSON của origin lab, việc đối tượng hoặc đường dẫn xuất hiện chưa nói nội dung đã đúng, đầy đủ hay thuộc lượt chạy hiện tại. Xác định dấu hiệu cuối cùng cần có trước khi bắt đầu giúp tránh thay tiêu chuẩn theo output vừa nhìn thấy.

Lưu dữ liệu đối chứng từ phía nguồn hoặc từ trạng thái đã được nhóm kiểm soát. Đừng tạo giá trị mong đợi bằng chính output đang cần đánh giá rồi so hai thứ với nhau. Khi run_id và log proxy có nhiều thành phần, kiểm từng thành phần và ghi phần nào chưa có bằng chứng, thay vì gộp chúng thành một nhãn thành công duy nhất.

Nếu công cụ trả dữ liệu dở, giữ bản nhỏ có thể tái hiện lỗi và ghi giai đoạn đã hoàn thành. Thành công ở tầng kết nối có thể đi cùng thất bại ở tầng xác thực, tải nội dung hoặc xử lý đầu ra. Phân biệt các mốc đó giúp người nhận chọn đúng lớp cần sửa và không làm lại mọi thiết lập của probe.ts cùng quyền allow-env.

Điều kiện chấp nhận: Ca đủ quyền qua được request còn ca thiếu quyền bị từ chối theo đúng mô hình runtime. Không lấy allow-all làm cấu hình cuối chỉ vì ca đó hoạt động.

Basic auth của proxy

Deno có schema proxy và trường basicAuth trong API cho transport tương ứng.

Cách thực hiện trong lab: Cấp username password của gateway lab qua cấu hình client rồi kiểm origin không nhận secret proxy.

Trạng thái trước lượt kiểm ảnh hưởng trực tiếp đến basic auth của proxy. Trong Deno fetch có HttpClient, cần xem HttpClient và finally đang được tạo mới, tái sử dụng hay giữ lại từ lần trước. Cùng câu lệnh nhưng khác trạng thái ban đầu có thể thực hiện lượng công việc khác nhau, nên so kết quả mà bỏ qua điều này dễ dẫn tới chẩn đoán sai.

Tạo một mốc có kiểm soát trong tiến trình Deno thử. Ghi artifact nào đã có sẵn và artifact nào phải được tạo trong lượt mới. Nếu cần thử lại từ đầu, chỉ dùng đường dẫn thử riêng đã được nhận diện; không dọn kho dữ liệu dùng chung để ép công cụ phát sinh một request. Mục tiêu là kiểm hành vi, không thay đổi môi trường làm việc của người khác.

Sau khi chạy, so trạng thái trước và sau theo đúng ca. Sự khác nhau trong JSON của origin lab phải được giải thích bằng thao tác dự kiến chứ không bằng một tác vụ nền ngoài hồ sơ. Khi công cụ có cơ chế tái sử dụng kết nối hoặc dữ liệu, thêm một lượt mới và một lượt lặp để người đọc hiểu vì sao lượng request có thể khác.

Điều kiện chấp nhận: Gateway chấp nhận ca hợp lệ còn ca sai credential được nhận diện trước khi đọc JSON. Tránh nhét bearer token của ứng dụng vào basicAuth vì đó là danh tính dành cho origin.

Deno proxy phân loại lỗi và giới hạn

Các ca sau đánh giá điều kiện lỗi và khả năng của phiên bản đang dùng. Mục tiêu là nhận đúng giới hạn của Deno fetch có HttpClient, không biến mọi thất bại thành lỗi gateway.

Trust store và caCerts

CA bổ sung của HttpClient phục vụ xác minh peer theo transport TLS đang dùng.

Cách thực hiện trong lab: Dùng CA lab được cấp và đối chiếu chứng chỉ khi target là HTTPS hoặc gateway dùng TLS.

Chẩn đoán trust store và cacerts nên theo thứ tự sự kiện của Deno fetch có HttpClient. Xác định thông báo xuất hiện trước khi mở kết nối, tại gateway, khi liên lạc origin hay lúc xử lý JSON của origin lab. Thứ tự này quan trọng hơn việc mọi lỗi có chung chữ proxy trong mô tả người dùng.

Mỗi lần sửa chỉ đổi một nguyên nhân có giả thuyết. Nếu thông báo liên quan danh tính, giữ URL và dữ liệu nguồn như cũ rồi kiểm lớp auth tương ứng. Nếu lỗi thuộc quyền đọc file cấu hình hoặc quyền ghi đầu ra, xử lý quyền đó trước. Không thay cả secret, endpoint và tham số allow-net theo host cổng trong cùng một lượt rồi nhận rằng đã tìm ra nguyên nhân.

Dùng ca âm có kiểm soát để kiểm chất lượng phân loại lỗi. Chỉ thay một đầu vào lab thành giá trị không hợp lệ, đặt thời hạn kết thúc và xem chương trình phản hồi thế nào. Sau ca âm, khôi phục giá trị rồi chạy lại mốc; nếu mốc vẫn lỗi, môi trường chưa trở lại điều kiện để tiếp tục các phép so.

Điều kiện chấp nhận: Request giữ xác minh certificate và hostname, lỗi CA được tách khỏi quyền mạng. Không tắt TLS verification chỉ để vượt một ca mà mục tiêu chính là kiểm đúng kết nối.

Timeout và đóng client

Client có tài nguyên kết nối và cần kết thúc dù response body không parse được.

Cách thực hiện trong lab: Cho endpoint lab trả JSON lỗi hoặc body chậm để kích hoạt nhánh exception và finally.

Khả năng của timeout và đóng client cần được kiểm theo đúng phiên bản đang dùng. Một tùy chọn xuất hiện trong tài liệu hiện hành chưa chứng minh binary cũ trên máy đã nhận nó. Trước khi dùng kết quả để hướng dẫn người khác, đối chiếu trợ giúp của công cụ và thông tin phiên bản với cú pháp trong probe.ts cùng quyền allow-env.

Với Deno fetch có HttpClient, lưu cả môi trường thực thi nếu có nhiều máy hoặc tiến trình. Hệ điều hành, backend TLS, công cụ con và vị trí phân giải hostname đều có thể tạo khác biệt. Đừng lấy kết quả của trình duyệt trên laptop để thay cho tiến trình chạy trong máy ảo, container hay node khác khi bài kiểm đang nhắm môi trường đó.

Giữ những giả định chưa kiểm ở một cột riêng trong hồ sơ. SOCKS5 và transport riêng có thể cần một bộ dữ liệu hoặc cơ chế transport khác với ca hiện tại. Việc ghi chưa kiểm không làm mất giá trị kết quả đã có; nó giúp tránh mở rộng một quan sát nhỏ thành lời cam kết vượt quá phạm vi.

Điều kiện chấp nhận: Chương trình thoát có lỗi phù hợp và không giữ tác vụ mạng tiếp tục ngoài lượt thử. Nếu script bị hủy cứng từ bên ngoài, ghi rõ giới hạn việc quan sát finally thay vì nhận đã dọn sạch.

Phân biệt các lớp lỗi

Phân biệt các lớp lỗi

Deno proxy vận hành và bàn giao

Nhóm cuối giữ đủ hồ sơ để người khác tiếp tục trong tiến trình Deno thử. Cấu hình mẫu, dữ liệu đã che và việc hoàn nguyên cần được kiểm trước khi bàn giao.

Transport ngoài HTTP

Deno tài liệu hóa nhiều kiểu proxy nhưng quyền và khả năng từng kiểu cần thử riêng.

Cách thực hiện trong lab: Giữ HTTP làm mốc rồi thêm SOCKS5 trên endpoint lab có thật khi có nhu cầu.

Quản lý dữ liệu cho transport ngoài http cần giữ đủ khả năng truy nguyên mà không lộ bí mật. Trong Deno fetch có HttpClient, log có thể chứa địa chỉ gateway, URL nguồn, thông tin danh tính và đường dẫn JSON của origin lab. Chọn dữ liệu cần lưu theo mục đích chẩn đoán, tránh thu tất cả rồi mới tìm cách che sau.

Tạo bản log làm việc ở nơi có quyền phù hợp và một bản chia sẻ đã được rà. Khi che giá trị, giữ cấu trúc giúp nhận diện loại dữ liệu, chẳng hạn hostname, loại auth và mã trạng thái không nhạy cảm. Nếu che đến mức mất cả endpoint và thời điểm, người nhận khó khớp với run_id và log proxy và không còn đủ dữ liệu để kiểm giả thuyết.

File cấu hình cũng cần phân loại tương tự. Mẫu probe.ts cùng quyền allow-env có thể được chia sẻ khi chỉ chứa tên biến và địa chỉ minh họa; bản đang chứa token hoặc userinfo phải được xử lý riêng. Xóa secret khỏi phiên bản cuối chưa đủ nếu nó đã nằm trong lịch sử repository, archive cũ hoặc log của runner đã được phát hành.

Điều kiện chấp nhận: Kết quả chia theo transport, scheme và runtime thay vì một nhãn hỗ trợ mọi proxy. Một cấu hình Unix socket không phù hợp Windows phải được ghi là giới hạn nền tảng.

Đầu ra JSON và ca âm

HTTP thành công vẫn có thể chứa dữ liệu không thuộc hợp đồng mà script đang kiểm.

Cách thực hiện trong lab: Trả JSON có run_id khác trong một ca âm rồi xác nhận assertion phát hiện sai lệch.

Kết thúc đầu ra json và ca âm là một bước của phép thử, không chỉ là đóng cửa sổ terminal. Kiểm Deno fetch có HttpClient còn tác vụ nền hay tài nguyên đang hoạt động không, và JSON của origin lab đã ở trạng thái cuối hay đang tiếp tục thay đổi. Chốt kết quả khi còn tiến trình ghi dữ liệu có thể làm hash hoặc metadata không ổn định.

Lưu các giá trị ban đầu của môi trường trước khi phục hồi cấu hình. Với probe.ts cùng quyền allow-env, cần phân biệt giá trị chỉ sống trong một tiến trình với cấu hình được lưu cho các lượt sau. Một lần bỏ biến trong shell không xóa được giá trị đã ghi vào profile hoặc file; ngược lại không cần sửa cấu hình toàn máy nếu chỉ một phiên thử bị ảnh hưởng.

Chạy lại mốc sau hoàn nguyên bằng dữ liệu nhỏ đã biết. Mục đích là xác nhận môi trường trở về điều kiện dự kiến và không còn thừa hưởng trạng thái lỗi do ca trước tạo ra. Ghi kết quả cuối cùng cùng thời điểm để người nhận hiểu đâu là output cuối, đâu là log của giai đoạn sửa lỗi.

Điều kiện chấp nhận: Status 200 không làm ca sai run_id được tính đạt, output không chứa giá trị giả do client tự gán. Không thay assertion bằng in ra dữ liệu rồi bỏ qua phần đối chiếu.

Deno proxy đọc kết quả theo đúng phạm vi

Quyền Deno có thể được kiểm như một ma trận nhỏ: thiếu quyền env, thiếu quyền network, đủ quyền nhưng gateway sai và đủ quyền với gateway đúng. Mỗi hàng phải giữ cùng script. Nhờ vậy thông báo PermissionDenied không bị gộp với connection refused hoặc lỗi phản hồi origin.

Danh sách allow-net cần được rút ra từ bản runtime và cách truy cập thật. Khi có redirect, target ban đầu và host sau redirect có thể khác. Hãy giữ endpoint không redirect cho ca cơ sở, rồi bổ sung redirect như một ca kiểm quyền riêng để không cấp quá rộng ngay từ đầu.

HttpClient sống qua nhiều request có thể giữ connection pool. Trong một phép so gateway A và gateway B, tạo client mới cho từng cấu hình giúp tránh trạng thái cũ gây khó đọc kết quả. Sau ca lỗi parse hoặc status không đạt, finally vẫn là nơi đóng client do chương trình sở hữu.

Nếu cần Basic auth, giữ username password trong cấu hình proxy thay vì header chung của fetch. Origin lab nên có assertion rằng nó không nhận Proxy-Authorization. Điều này kiểm sai phạm vi gửi credential bằng bằng chứng nhận tại đích, thay vì chỉ nhìn mã nguồn và suy rằng bí mật đã được đặt đúng.

Trong phép thử cục bộ ngày 27/10/2026, mã mẫu trên đã qua deno check và chạy bằng Deno 2.9.7 qua HTTP forward proxy trên loopback. Origin trả JSON có run_id khớp và gateway ghi nhận GET. Hai ca thiếu quyền env hoặc network bị từ chối trước khi gateway nhận request; ca trả HTTP 200 nhưng run_id sai cũng bị assertion từ chối. Đây là kết quả của fixture nội bộ, chưa kiểm HTTPS CONNECT, SOCKS, proxy auth hoặc gateway thương mại ProxyVN.

Khi chẩn đoán, có thể tra cơ chế HTTP proxy và tunnel của MDN, ý nghĩa HTTP status và cơ sở kiểm chứng TLS. Các tài liệu giao thức giúp hiểu nguyên nhân, còn kết luận tương thích vẫn cần phép thử trên công cụ và môi trường cụ thể.

Nếu cần rà cấu trúc đầu vào, dùng hướng dẫn định dạng proxy. Khi có bypass, đối chiếu khái niệm no_proxy với quy tắc riêng của công cụ; cùng một chuỗi host không được mặc định có ý nghĩa giống nhau ở mọi runtime.

Một tùy chọn được chấp nhận, một kết nối thành công và một đầu ra đúng là ba điều kiện cần được kiểm riêng.

Hồ sơ bàn giao

Hồ sơ bàn giao

Khi cần mua proxy cho Deno fetch có HttpClient, anh em nên xác nhận giao thức, cách cấp tài khoản và khả năng kết nối từ môi trường thực thi, rồi thử bằng đầu ra nhỏ có đối chứng trước khi chọn cấu hình dùng lâu dài.

Anh em nên giữ cấu hình mẫu và kết quả từng ca trước khi mở rộng tác vụ. Theo dõi Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để tham khảo nội dung liên quan. Khi thay phiên bản hoặc môi trường, kiểm lại đầu ra và phạm vi của Deno proxy.

TIN TỨC LIÊN QUAN