Docker コンテナの問題: 不明な権限によって署名された証明書エラー
GoLang の http.Client を使用して Docker コンテナを実行すると、エラー メッセージ「不明な機関によって署名された証明書です。」この問題は、コンテナを最初から作成する場合、または Ubuntu/Alpine イメージを使用する場合に発生します。
問題を理解するには、http.Client がシステムの証明書ストアで TLS 構成を使用することに注意することが重要です。コンテナが最初から作成される場合、デフォルトでは信頼できる証明書がありません。
解決策:
この問題の解決策は、Docker の種類によって異なります。使用している画像:
スクラッチ画像:
FROM scratch ADD ca-certificates.crt /etc/ssl/certs/ ADD main / CMD ["/main"]
Multi-Stage Image:
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"]
Docker イメージに信頼できる証明書を含めることにより、を実行すると、http.Client はサーバー証明書を確認し、Google の API への HTTPS リクエストを正常に実行できるようになります。
以上がGoLang Docker コンテナで「不明な機関によって署名された証明書」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。