Bỏ qua để đến nội dung

Cấu hình mạng cho doanh nghiệp

Bài viết được dịch tự động từ bài viết gốc, chưa được kiểm tra lại bởi con người. Chỉ những bài viết có dấu tick xanh cạnh tiêu đề là đã được kiểm tra.

Claude Code hỗ trợ nhiều cấu hình mạng và bảo mật doanh nghiệp qua biến môi trường: định tuyến traffic qua proxy nội bộ, tin cậy custom Certificate Authority (CA), và xác thực mutual TLS (mTLS).

Đặt các biến môi trường này trước khi khởi động Claude Code. Biến export trong shell chỉ được đọc một lần lúc khởi động, nên một session đang chạy sẽ không nhận thay đổi sau đó.

Claude Code tuân theo các biến proxy chuẩn:

Terminal window
# HTTPS proxy (khuyến nghị)
export HTTPS_PROXY=https://proxy.example.com:8080
# HTTP proxy (nếu không có HTTPS)
export HTTP_PROXY=http://proxy.example.com:8080
# Bỏ qua proxy cho request cụ thể - dạng cách nhau bằng khoảng trắng
export NO_PROXY="localhost 192.168.1.1 example.com .example.com"
# Dạng cách nhau bằng dấu phẩy
export NO_PROXY="localhost,192.168.1.1,example.com,.example.com"
# Bỏ qua proxy cho mọi request
export NO_PROXY="*"

Biến viết thường cũng hoạt động; Claude Code dùng biến đầu tiên tìm thấy theo thứ tự https_proxy, HTTPS_PROXY, http_proxy, HTTP_PROXY.

Nếu proxy yêu cầu basic authentication, đưa credentials vào URL proxy:

Terminal window
export HTTPS_PROXY=http://username:password@proxy.example.com:8080

Mặc định, Claude Code tin cậy cả bộ CA Mozilla đóng gói sẵn lẫn kho chứng chỉ của hệ điều hành. Đọc kho OS yêu cầu runtime có tls.getCACertificates: trình cài đặt native luôn có, còn cài qua npm cần Node 22.15 trở lên. Trên Node cũ hơn, chỉ bộ đóng gói sẵn và NODE_EXTRA_CA_CERTS có tác dụng. Proxy TLS-inspection doanh nghiệp như CrowdStrike Falcon và Zscaler hoạt động không cần cấu hình thêm khi root certificate của chúng đã cài trong kho tin cậy OS.

CLAUDE_CODE_CERT_STORE nhận danh sách nguồn cách nhau bằng dấu phẩy: bundled (bộ CA Mozilla đóng gói sẵn) và system (kho chứng chỉ OS). Mặc định là bundled,system.

Terminal window
# Chỉ tin cậy bộ CA Mozilla đóng gói sẵn
export CLAUDE_CODE_CERT_STORE=bundled
# Chỉ tin cậy kho chứng chỉ OS
export CLAUDE_CODE_CERT_STORE=system

Nếu môi trường doanh nghiệp dùng custom CA, cấu hình Claude Code tin cậy trực tiếp:

Terminal window
export NODE_EXTRA_CA_CERTS=/path/to/ca-cert.pem

Cho môi trường yêu cầu xác thực bằng client certificate:

Terminal window
# Client certificate để xác thực
export CLAUDE_CODE_CLIENT_CERT=/path/to/client-cert.pem
# Client private key
export CLAUDE_CODE_CLIENT_KEY=/path/to/client-key.pem
# Tùy chọn: passphrase cho private key đã mã hóa
export CLAUDE_CODE_CLIENT_KEY_PASSPHRASE="your-passphrase"

Claude Code đọc file certificate và key lúc khởi động, và đọc lại mỗi khi áp dụng settings, kể cả khi settings thay đổi giữa session. Để xoay vòng certificate/key, thay file ở cùng đường dẫn.

Trong cloud session, môi trường host quản lý kết nối tới API, nên Claude Code bỏ qua các biến sau nếu chúng đến từ block env của file settings: CLAUDE_CODE_CLIENT_CERT, CLAUDE_CODE_CLIENT_KEY, CLAUDE_CODE_CLIENT_KEY_PASSPHRASE, NODE_EXTRA_CA_CERTS, NODE_TLS_REJECT_UNAUTHORIZED, CLAUDE_CODE_OAUTH_SCOPES. Claude Code ghi chú từng key bị bỏ qua trong debug log.

Trong session Claude Desktop nơi app quản lý kết nối provider, Claude Code chỉ đọc các biến này (và các biến proxy HTTP_PROXY, HTTPS_PROXY, NO_PROXY) từ managed settings và ~/.claude/settings.json - nó bỏ qua chúng trong settings file của một repository, để một repo đã checkout không thể chuyển hướng đường TLS/proxy của session mà credential đến từ app.

Bạn thường phát hiện địa chỉ proxy sai hoặc đường dẫn certificate hỏng qua lỗi kết nối hoặc chứng chỉ ở một request sau đó, vì Claude Code không validate hầu hết các setting này lúc đọc. Setting duy nhất được kiểm tra lúc khởi động là proxy URL: khi không parse được (ví dụ thiếu scheme http://), Claude Code dừng khởi động với lỗi nêu tên biến cần sửa.

Để xác nhận cấu hình đã load trước khi gửi request, khởi động Claude Code với debug logging:

Terminal window
claude --debug

Debug output ghi vào ~/.claude/debug/<session-id>.txt (hoặc đường dẫn bạn đặt bằng --debug-file <path>), không ra terminal. Tìm các dòng xác nhận từng file đã load:

CA certs: Appended extra certificates from NODE_EXTRA_CA_CERTS (/etc/ssl/certs/corp-ca.pem)
mTLS: Loaded client certificate from CLAUDE_CODE_CLIENT_CERT
mTLS: Loaded client key from CLAUDE_CODE_CLIENT_KEY

Bạn cũng có thể chạy /status trong session tương tác và xem các dòng:

  • Proxy: hiển thị URL proxy đang dùng, đánh dấu giá trị không parse được là invalid và bị bỏ qua.
  • mTLS client certmTLS client key: chỉ xuất hiện khi file load thành công.
  • Additional CA cert(s): hiển thị đường dẫn NODE_EXTRA_CA_CERTS mà không kiểm tra file có load được không - xác nhận trong debug log.

Áp dụng cấu hình mạng cho background agent

Phần tiêu đề “Áp dụng cấu hình mạng cho background agent”

Background agent không chạy trong terminal đã khởi động chúng - một supervisor process theo user chạy khi cần, tồn tại lâu hơn shell của bạn, và host mọi session claude agents, --bg, /background. Điều này ảnh hưởng tới cách cấu hình trên trang này tới được các session đó.

Đặt biến mạng trong settings, không phải shell

Phần tiêu đề “Đặt biến mạng trong settings, không phải shell”

Supervisor là một tiến trình dùng chung cho mọi terminal. Nó thừa hưởng môi trường của shell nào khởi động nó đầu tiên, và một supervisor cài qua OS không nhận môi trường shell nào cả. Nếu bạn chỉ export biến proxy/CA/mTLS trong shell, nó chỉ tới được background agent khi đúng shell đó cold-start supervisor - và âm thầm không tới khi một shell khác làm việc đó.

Đặt các biến này vào block env của ~/.claude/settings.json hoặc managed settings thay vì shell. Mọi biến trong trang này đều có thể đặt ở đó, và settings là cấu hình duy nhất tới được mọi background session trên mọi máy.

Một số tổ chức yêu cầu mọi tiến trình Claude Code khởi động qua corporate launcher áp sandbox, kiểm soát mạng, hoặc chèn credential. Supervisor và worker của nó khởi động Claude Code từ một đường dẫn cố định thay vì tìm claude trên PATH, nên mọi background agent bỏ qua một wrapper bạn đặt trước đó trên PATH.

Đặt setting processWrapper để thêm launcher của bạn vào trước supervisor, worker, và các tiến trình nền khác. Biến môi trường tương đương CLAUDE_CODE_PROCESS_WRAPPER có độ ưu tiên cao hơn khi cả hai đều đặt, và cũng phải tuân theo quy tắc trên: đưa qua managed settings hoặc ~/.claude/settings.json, không phải shell export. Xem Chạy Claude Code sau corporate launcher để biết đầy đủ hợp đồng launcher phải đáp ứng.

Claude Code cần truy cập các URL sau. Allowlist chúng trong cấu hình proxy và firewall, đặc biệt trong môi trường mạng bị giới hạn hoặc chạy container.

URLCần cho
api.anthropic.comRequest tới Claude API, gồm cả kiểm tra an toàn domain của WebFetch, lấy feature flag, và ghi log telemetry
claude.aiXác thực tài khoản claude.ai
claude.comĐăng nhập claude.ai mở trang claude.com trên trình duyệt rồi redirect tới claude.ai; các lookup tài liệu WebFetch đã duyệt trước cũng dùng host này
platform.claude.comXác thực tài khoản Anthropic Console. OAuth token exchange, refresh, thu hồi cũng qua host này cho tài khoản claude.ai
mcp-proxy.anthropic.comKết nối MCP từ claude.ai (bao gồm connector do admin tổ chức cấu hình)
downloads.claude.aiTải plugin executable; native installer, auto-updater, kiểm tra phiên bản
storage.googleapis.comSố lượt cài và metadata plugin hiển thị trong /plugin; upload artifact đã ký thử host này trước
bridge.claudeusercontent.comWebSocket bridge của extension Claude in Chrome
raw.githubusercontent.comFeed changelog cho /release-notes
http-intake.logs.us5.datadoghq.comTelemetry vận hành, chỉ gửi khi dùng thẳng Anthropic API (không dùng cho Bedrock, Vertex, Foundry)
browser-intake-us5-datadoghq.comBáo cáo lỗi vận hành, tương tự điều kiện trên
formulae.brew.shKiểm tra phiên bản cho bản cài qua Homebrew
code.claude.comLookup tài liệu Claude Code bởi agent claude-code-guide và các request WebFetch đã duyệt trước

Nếu cài Claude Code qua npm hoặc tự quản lý phân phối binary, người dùng cuối không cần các host phục vụ native installer/auto-updater, nhưng npm/bun cần registry gói của chúng (registry.npmjs.org) trừ khi tổ chức bạn mirror lại.

Hai host Datadog chỉ mang telemetry vận hành tùy chọn - đặt CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC để tắt cả hai. Session trên provider bên thứ ba không bao giờ gửi tới các host này.

Khi dùng Amazon Bedrock, Google Cloud’s Agent Platform, Microsoft Foundry, hoặc gateway đã đăng nhập, traffic model và xác thực đi tới provider/gateway của bạn thay vì api.anthropic.com. Tool WebFetch vẫn gọi api.anthropic.com cho kiểm tra an toàn domain trừ khi bạn đặt skipWebFetchPreflight: true trong settings.

Claude Code trên web và Code Review kết nối tới repository của bạn từ hạ tầng do Anthropic quản lý. Nếu tổ chức GitHub Enterprise Cloud của bạn giới hạn theo IP, bật IP allow list inheritance cho GitHub App đã cài, hoặc thêm dải IP thủ công.