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!
No_proxy là gì? Cách thiết lập bỏ qua proxy đúng cách

No_proxy là gì? Cách thiết lập bỏ qua proxy đúng cách

SEO Administrator 07-26-2026 Đang tính... phút đọc

No_proxy là gì và vì sao một số địa chỉ vẫn cần kết nối trực tiếp khi hệ thống đã dùng proxy? Đây là biến môi trường tạo danh sách ngoại lệ cho proxy. Trong bài viết này, ProxyVN giúp anh em hiểu nguyên lý, cú pháp, cách cấu hình trên Windows, macOS và Linux, đồng thời tránh những lỗi thường gặp giữa các công cụ.

No_proxy là gì trong cấu hình mạng?

NO_PROXY hoặc no_proxy là biến môi trường chứa danh sách hostname, tên miền, địa chỉ IP hoặc cổng không đi qua proxy. Khi yêu cầu khớp danh sách này, ứng dụng kết nối trực tiếp đến đích.

No_proxy trong cấu hình mạng

No_proxy trong cấu hình mạng

Ví dụ, máy đang dùng proxy cho lưu lượng HTTP và HTTPS nhưng cần truy cập trực tiếp localhost cùng máy chủ nội bộ:

export http_proxy="http://proxy.example.com:8080"

export https_proxy="http://proxy.example.com:8080"

export no_proxy="localhost,127.0.0.1,internal.example.com"

Với cấu hình trên, yêu cầu đến ba đích trong no_proxy được bỏ qua proxy. Các địa chỉ khác vẫn đi qua proxy.example.com:8080.

Biến này thường hoạt động cùng:

  • http_proxy: Chỉ định proxy cho lưu lượng HTTP.

  • https_proxy: Chỉ định proxy cho lưu lượng HTTPS.

  • all_proxy: Đặt proxy dùng chung khi client hỗ trợ và không có cấu hình riêng.

  • no_proxy: Khai báo các đích cần kết nối trực tiếp.

Theo tài liệu chính thức của curl, danh sách NO_PROXY được phân tách bằng dấu phẩy. Một mục có thể là hostname hoặc địa chỉ IP. Biến này tạo ngoại lệ định tuyến, không thay thế proxy đang dùng.

Cơ chế hoạt động của NO_PROXY

Khi ứng dụng chuẩn bị gửi yêu cầu, nó đọc biến proxy tương ứng với giao thức. Sau đó, client so sánh hostname và đôi khi cả cổng của URL đích với từng mục trong danh sách loại trừ.

Quy trình có thể hiểu ngắn gọn như sau:

  • URL đích khớp một mục trong no_proxy: Kết nối trực tiếp.

  • URL đích không khớp: Chuyển yêu cầu qua proxy đã cấu hình.

  • Không có biến proxy: Kết nối theo thiết lập mặc định của ứng dụng hoặc hệ điều hành.

Ví dụ:

http_proxy="http://proxy.example.com:8080"

no_proxy="localhost,api.internal.example.com"

NO_PROXY chỉ có tác dụng khi chương trình đang chạy hỗ trợ và đọc biến này. Cấu hình đúng ở hệ điều hành chưa đủ nếu ứng dụng dùng cơ chế proxy riêng.

Điểm cần chú ý là cách diễn giải danh sách loại trừ chưa đồng nhất. Một phân tích kỹ thuật của GitLab cho biết các client có thể khác nhau về chữ hoa, chữ thường, dấu chấm đầu miền, CIDR và ký tự *. Do đó, anh em nên kiểm tra theo đúng công cụ thực sự sử dụng.

Cú pháp khai báo NO_PROXY dễ tương thích

Cách an toàn là dùng danh sách ngắn, phân tách bằng dấu phẩy và ghi rõ từng hostname cần loại trừ:

no_proxy="localhost,127.0.0.1,api.internal.example.com"

Các định dạng thường gặp gồm:

  • Host cụ thể: localhost hoặc api.internal.example.com.

  • IP cụ thể: 127.0.0.1 hoặc 192.168.1.10.

  • Host kèm cổng: internal.example.com:8080.

  • Tên miền: example.com, có thể khớp tên miền chính và tên miền con ở nhiều client.

  • CIDR: 10.0.0.0/8, nhưng mức hỗ trợ phụ thuộc client.

  • Dấu sao duy nhất: *, thường mang nghĩa bỏ qua proxy cho mọi host, nhưng không nên dùng nếu chưa kiểm tra.

Tài liệu urllib.request của Python mô tả no_proxy là danh sách hậu tố hostname, có thể kèm :port. Trong khi đó, curl chỉ hỗ trợ CIDR từ phiên bản 7.86.0. Điều này cho thấy một chuỗi hoạt động với curl chưa chắc cho kết quả tương tự trên client khác.

Để tăng khả năng tương thích, anh em nên:

  • Ưu tiên no_proxy viết thường trong môi trường có nhiều công cụ.

  • Nếu phải khai báo cả no_proxyNO_PROXY, hãy đặt cùng một giá trị.

  • Tránh khoảng trắng thừa giữa các mục.

  • Dùng hostname cụ thể thay cho dải mạng rộng.

  • Không xem dấu chấm đầu miền như một wildcard dùng chung.

Hướng dẫn thiết lập NO_PROXY trên từng hệ điều hành

Các lệnh dưới đây dùng cấu hình mẫu. Anh em cần thay hostname, IP và proxy bằng thông tin của hệ thống đang vận hành.

Cấu hình trên Windows

Trong Command Prompt, lệnh sau chỉ có hiệu lực ở cửa sổ hiện tại:

set http_proxy=http://proxy.example.com:8080

set https_proxy=http://proxy.example.com:8080

set no_proxy=localhost,127.0.0.1,internal.example.com

Trong PowerShell, dùng cú pháp:

$env:http_proxy="http://proxy.example.com:8080"

$env:https_proxy="http://proxy.example.com:8080"

$env:no_proxy="localhost,127.0.0.1,internal.example.com"

Muốn lưu cho tài khoản người dùng, anh em có thể chạy:

[Environment]::SetEnvironmentVariable(

  "no_proxy",

  "localhost,127.0.0.1,internal.example.com",

  "User"

)

Sau đó, hãy mở lại terminal hoặc ứng dụng để tiến trình mới nhận biến. Anh em cũng có thể tạo no_proxy tại System Properties > Advanced > Environment Variables.

Cấu hình trên macOS

Để thiết lập cho phiên Terminal hiện tại:

export http_proxy="http://proxy.example.com:8080"

export https_proxy="http://proxy.example.com:8080"

export no_proxy="localhost,127.0.0.1,internal.example.com"

Nếu dùng Zsh, thêm các dòng trên vào ~/.zshrc, rồi nạp lại:

source ~/.zshrc

Nếu dùng Bash, thêm cấu hình vào ~/.bashrc hoặc ~/.bash_profile tùy cách shell khởi chạy. Anh em cần sửa đúng tệp cấu hình của shell, vì không phải máy nào cũng đọc cùng một tệp.

Cấu hình trên Linux

Với Bash, có thể đặt tạm bằng export như trên. Muốn duy trì cho các phiên shell sau, thêm cấu hình vào ~/.bashrc, rồi chạy:

source ~/.bashrc

Đối với dịch vụ chạy bằng systemd, biến trong terminal người dùng thường không tự truyền vào service. Hãy tạo drop-in dành riêng cho dịch vụ và khai báo:

[Service]

Environment="http_proxy=http://proxy.example.com:8080"

Environment="https_proxy=http://proxy.example.com:8080"

Environment="no_proxy=localhost,127.0.0.1,internal.example.com"

Sau khi lưu, nạp lại cấu hình và khởi động dịch vụ:

sudo systemctl daemon-reload

sudo systemctl restart ten-dich-vu

Với Docker daemon, anh em nên làm theo hướng dẫn proxy chính thức của Docker. Docker hỗ trợ cấu hình no-proxy trong daemon.json hoặc biến môi trường của service.

Kiểm tra NO_PROXY sau khi cấu hình

Đầu tiên, kiểm tra giá trị hiện tại.

Trên macOS hoặc Linux:

printenv | grep -i proxy

Trên PowerShell:

Get-ChildItem Env: | Where-Object Name -Match "proxy"

Tiếp theo, dùng curl ở chế độ verbose để quan sát đường kết nối:

curl -v https://internal.example.com

Anh em cũng có thể so sánh trực tiếp bằng tùy chọn --noproxy:

curl -v --noproxy internal.example.com https://internal.example.com

Khi xử lý lỗi, hãy kiểm tra thêm:

  • Ứng dụng đã được khởi động lại sau khi đổi biến chưa.

  • Host trong URL có đúng với mục đã khai báo không.

  • Có xung đột giữa biến viết hoa và viết thường không.

  • Service, container hoặc IDE có môi trường riêng không.

  • Client đang dùng có hỗ trợ CIDR, cổng và kiểu khớp miền đó không.

Sai lầm cần tránh khi sử dụng NO_PROXY

Sai lầm phổ biến nhất là sao chép một danh sách quá rộng vào mọi môi trường. Khi đó, lưu lượng đáng lẽ phải qua proxy kiểm soát lại được kết nối trực tiếp.

Một số điểm cần tránh gồm:

  • Dùng * khi chỉ cần loại trừ vài host nội bộ.

  • Đưa cả dải IP lớn vào danh sách mà không đánh giá phạm vi.

  • Cho rằng mọi client đều hiểu .example.com giống nhau.

  • Khai báo NO_PROXYno_proxy với hai giá trị khác nhau.

  • Đưa tài khoản hoặc mật khẩu proxy vào tài liệu, log hay kho mã nguồn.

  • Chỉ thử bằng curl rồi kết luận ứng dụng khác cũng hoạt động.

GitLab từng ghi nhận dịch vụ Ruby và Go ưu tiên hai biến khác nhau. Thao tác từ dòng lệnh thành công nhưng thao tác trên giao diện lại thất bại. Bài học là phải kiểm tra đúng tiến trình, client và môi trường triển khai.

Cuối cùng, hãy giữ danh sách loại trừ ngắn, ghi chú lý do của từng mục và rà soát định kỳ. Cách này giúp giảm lỗi định tuyến, hạn chế tải không cần thiết cho proxy và vẫn duy trì chính sách kết nối phù hợp.

Tóm lại, biến môi trường này chỉ định host cần kết nối trực tiếp và giữ proxy cho phần lưu lượng còn lại. Anh em nên dùng danh sách cụ thể, đồng bộ chữ hoa với chữ thường và kiểm thử trên đúng ứng dụng. Khi cần kết nối ổn định cùng hỗ trợ kỹ thuật, hãy tham khảo Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam. Đó là nền tảng để hiểu đúng No_proxy là gì.

 

TIN TỨC LIÊN QUAN