ホームページ > バックエンド開発 > Golang > Docker コンテナで GoLang の HTTP.Client を使用するときに発生する「不明な認証局によって署名された証明書」エラーを解決するにはどうすればよいですか?

Docker コンテナで GoLang の HTTP.Client を使用するときに発生する「不明な認証局によって署名された証明書」エラーを解決するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-06 12:10:25
オリジナル
1032 人が閲覧しました

How to Resolve

GoLang HTTP.Client を使用した Docker コンテナで認証局エラーが発生しました

Google API と通信しようとして、個人が Docker を構築しましたGoLangを利用したコンテナ。当初、SCRATCH コンテナが使用されていたため、「証明書が不明な権限によって署名されました」というエラーが発生しました。 ubuntu/alpine に切り替えると、エラーが継続します。

この問題は、コンテナー内に信頼できる証明書が存在しないために発生します。これを修正するには、次の 2 つのアプローチを採用できます。

スクラッチ イメージ

アプリケーションとともに信頼できる証明書を組み込む:

FROM scratch
ADD ca-certificates.crt /etc/ssl/certs/
ADD main /
CMD ["/main"]
ログイン後にコピー

マルチステージビルド

によって提供される証明書を利用しますディストリビューション ベンダー:

FROM golang:alpine as build
RUN apk --no-cache add ca-certificates
WORKDIR /go/src/app
COPY . .
RUN CGO_ENABLED=0 go-wrapper install -ldflags '-extldflags "-static"'

FROM scratch
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=build /go/bin/app /app
ENTRYPOINT ["/app"]
ログイン後にコピー

これらのメソッドを採用することで、コンテナは必要な証明書を所有し、Google API とのシームレスな通信が可能になります。

以上がDocker コンテナで GoLang の HTTP.Client を使用するときに発生する「不明な認証局によって署名された証明書」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート