ホームページ > バックエンド開発 > Golang > GoLang Docker コンテナの「不明な機関によって署名された証明書」エラーを修正するにはどうすればよいですか?

GoLang Docker コンテナの「不明な機関によって署名された証明書」エラーを修正するにはどうすればよいですか?

DDD
リリース: 2024-12-07 04:21:11
オリジナル
522 人が閲覧しました

How to Fix

GoLang HTTP クライアントの Docker コンテナでの「不明な権限によって署名された証明書」エラーの解決

Google API にアクセスするための Docker コンテナの実行時GoLang の http.Client を使用すると、「不明な権限によって署名された証明書」というエラーが発生する場合があります。この問題は、API サーバーの証明書を検証するために必要な信頼できる証明書がコンテナにない場合に発生します。

スクラッチ コンテナ

SCRATCH コンテナでは、信頼できる証明書を含めることが重要ですアプリケーションの横のコンテナ内にあります。これを実現するには、ca-certificates.crt ファイルをコンテナに直接追加します。

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

Multi-Stage Build

マルチステージ ビルドを使用する場合は、 Dockerfile を変更することで、ディストリビューション ベンダーによってパッケージ化された証明書を利用できます。

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"]
ログイン後にコピー

これらの変更を行うと、安全な接続を確立するために必要な証明書をコンテナに提供し、「不明な認証局によって署名された証明書」エラーが解消され、GoLang HTTP クライアントと Google API の正常なやり取りが可能になります。

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

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