Trước tiên, hãy đặt hoặc mount tệp PEM CA đã được phê duyệt vào bên trong dev container. Sự tin cậy của trình duyệt trên máy chủ và đường dẫn chỉ tồn tại trên máy chủ không cung cấp byte chứng chỉ cho tiến trình Node của nó.

Sau đó, hợp nhất nội dung này vào .devcontainer/devcontainer.json hiện có cho VS Code và các tiến trình con liên quan:

"remoteEnv": {
  "NODE_EXTRA_CA_CERTS": "/usr/local/share/certs/corporate-ca.pem"
}

Đường dẫn nằm bên trong container. Hãy build lại hoặc mở lại qua vòng đời Dev Containers để tiến trình Node liên quan khởi động cùng nó.

NODE_EXTRA_CA_CERTS mở rộng bộ CA của Node khi khởi chạy. Việc thay đổi process.env sau đó không tải lại bộ này, và một ứng dụng khách có tùy chọn ca rõ ràng có thể chọn nguồn tin cậy khác.

Nếu cần môi trường cho toàn bộ container, hãy dùng containerEnv với cấu hình image/Dockerfile hoặc môi trường của dịch vụ Compose, thay vì cho rằng remoteEnv bao phủ mọi tiến trình.

Điều này cung cấp sự tin cậy mà không dùng NODE_TLS_REJECT_UNAUTHORIZED=0. Việc chọn proxy vẫn tách biệt: CA không thể định tuyến kết nối tới listener hay sửa một endpoint không thể truy cập.

Bài viết liên quan