Isu Kontena Docker: Sijil Ralat Ditandatangani oleh Pihak Berkuasa Tidak Diketahui
Menjalankan bekas Docker menggunakan http.Client GoLang boleh mengakibatkan mesej ralat " sijil yang ditandatangani oleh pihak berkuasa yang tidak diketahui." Isu ini telah dihadapi apabila mencipta bekas dari awal atau menggunakan imej Ubuntu/Alpine.
Untuk memahami masalah, adalah penting untuk ambil perhatian bahawa http.Client menggunakan konfigurasi TLS dalam stor sijil sistem. Apabila bekas dibuat dari awal, ia tidak mempunyai sebarang sijil yang dipercayai secara lalai.
Penyelesaian:
Penyelesaian kepada isu ini bergantung pada jenis Docker imej yang anda gunakan:
Calar Imej:
FROM scratch ADD ca-certificates.crt /etc/ssl/certs/ ADD main / CMD ["/main"]
Imej Berbilang Peringkat:
FROM golang:alpine as build RUN apk --no-cache add ca-certificates
FROM scratch COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY --from=build /go/bin/app /app ENTRYPOINT ["/app"]
Dengan memasukkan sijil yang dipercayai dalam imej Docker , http.Client anda akan dapat mengesahkan sijil pelayan dan berjaya membuat permintaan HTTPS ke API Google.
Atas ialah kandungan terperinci Mengapa Bekas Docker GoLang Saya Mendapat Ralat 'sijil yang ditandatangani oleh pihak berkuasa yang tidak diketahui'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!