Tình huống vấn đềBạn chỉ còn năm phút nữa là đến hạn chót và cần một tiện ích mở rộng quan trọng như GitHub Copilot hoặc Prettier. Bạn nhấn 'Install', nhưng thay vì thanh tiến trình, VS Code lại báo lỗi 'self signed certificate in certificate chain'. Đây là một vấn đề đau đầu kinh điển trong mạng doanh nghiệp.
Điều này thường xảy ra khi bạn đang làm việc sau tường lửa hoặc VPN sử dụng tính năng kiểm tra SSL (SSL inspection). Proxy sẽ chặn lưu lượng truy cập của bạn và thay thế chứng chỉ gốc bằng chứng chỉ của chính nó. VS Code coi đây là kẻ trung gian 'trái phép' và ngắt kết nối để đảm bảo an toàn cho bạn.
Nguyên nhân gốc rễ: Node.js đối đầu với Hệ thống của bạnVS Code chạy trên Electron và Node.js. Theo mặc định, Node.js sử dụng danh sách các Cơ quan chứng thực gốc (Root CAs) đáng tin cậy được mã hóa cứng của riêng nó. Nó thường bỏ qua các chứng chỉ mà bạn đã cài đặt trong Windows Certificate Store hoặc macOS Keychain. Khi proxy của công ty chèn một chứng chỉ tự ký 2048-bit vào chuỗi, Node.js không nhận diện được nó. Quá trình bắt tay (handshake) thất bại ngay lập tức.
Cách khắc phục nhanh (Cẩn thận khi sử dụng)Nếu bạn đang gấp, bạn có thể yêu cầu VS Code bớt "khó tính" hơn. Đây là cách nhanh nhất để tiện ích mở rộng của bạn hoạt động. Cảnh báo: Việc này làm giảm tính bảo mật của bạn. Nó ngăn VS Code xác minh danh tính của các máy chủ mà bạn kết nối, về lý thuyết có thể khiến bạn gặp phải các cuộc tấn công Man-in-the-Middle thực sự.
- Mở Settings trong VS Code (Ctrl + ,).- Tìm kiếm
proxy strict ssl.- Bỏ chọn Http: Proxy Strict SSL.Hoặc, dán trực tiếp nội dung này vàosettings.jsoncủa bạn:
{
"http.proxyStrictSSL": false
}
Tiện ích mở rộng của bạn sẽ được cài đặt ngay lập tức. Hãy coi đây là một bản vá tạm thời, không phải là giải pháp lâu dài.
Cách khắc phục chuyên nghiệp: Đồng bộ hóa với System StoreCác phiên bản VS Code hiện đại (1.60 trở lên) tích hợp sẵn cách xử lý proxy doanh nghiệp mà không cần tắt bảo mật. Thay vì bỏ qua các lỗi SSL, bạn có thể buộc VS Code tin tưởng các chứng chỉ giống như trình duyệt của bạn đang sử dụng.
Cách 1: Kích hoạt hỗ trợ chứng chỉ hệ thống (System Certificate Support)- Đi tới Settings.- Tìm kiếm system certificate.- Tìm mục Http: System Certificate Proxy Support.- Thay đổi cài đặt từ off sang on.- Khởi động lại VS Code.Đây là phương pháp sạch nhất. Nó cho phép VS Code kế thừa sự tin cậy đã được thiết lập bởi bộ phận IT của bạn.
Cách 2: Biến môi trường NODE_EXTRA_CA_CERTSNếu cài đặt trên không hiệu quả, bạn có thể trỏ quy trình Node.js cơ bản đến tệp chứng chỉ gốc của công ty theo cách thủ công (thường là tệp .pem hoặc .cer). Trước tiên, hãy xuất CA của doanh nghiệp từ trình duyệt hoặc keychain của bạn.
Trên Windows (PowerShell):
$env:NODE_EXTRA_CA_CERTS="C:\Users\Admin\Documents\corp-root-ca.pem"
code .
Trên macOS/Linux:
export NODE_EXTRA_CA_CERTS="/Users/name/certs/corp-root-ca.pem"
code .
Để duy trì thiết lập này, hãy thêm biến vào Biến môi trường hệ thống (Windows) hoặc tệp .zshrc của bạn (Mac/Linux).
Lựa chọn thay thế: Cài đặt qua TerminalĐôi khi giao diện người dùng (GUI) bị treo trong khi terminal vẫn hoạt động tốt. Bạn có thể thử buộc cài đặt thông qua Giao diện dòng lệnh (CLI). Cách này thường kế thừa các cài đặt proxy từ shell của bạn một cách đáng tin cậy hơn giao diện Extension Marketplace:
code --install-extension esbenp.prettier-vscode

