Maison > développement back-end > Golang > Comment résoudre les erreurs « certificat signé par une autorité inconnue » lors de l'utilisation de HTTP.Client de GoLang dans un conteneur Docker ?

Comment résoudre les erreurs « certificat signé par une autorité inconnue » lors de l'utilisation de HTTP.Client de GoLang dans un conteneur Docker ?

Barbara Streisand
Libérer: 2024-12-06 12:10:25
original
1032 Les gens l'ont consulté

How to Resolve

Conteneur Docker avec GoLang HTTP. Le client rencontre une erreur d'autorité de certification

Dans une tentative de communication avec l'API Google, un individu a construit un Docker conteneur utilisant GoLang. Initialement, un conteneur SCRATCH a été utilisé, ce qui a entraîné l'erreur « certificat signé par une autorité inconnue ». Lors du passage à Ubuntu/Alpine, l'erreur a persisté.

Le problème est dû à l'absence de certificats de confiance dans le conteneur. Pour remédier à cela, deux approches peuvent être adoptées :

Scratch Image

Incorporer des certificats de confiance avec l'application :

FROM scratch
ADD ca-certificates.crt /etc/ssl/certs/
ADD main /
CMD ["/main"]
Copier après la connexion

Construction en plusieurs étapes

Utiliser les certificats fournis par la distribution fournisseur :

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"]
Copier après la connexion

En employant ces méthodes, le conteneur possédera les certificats requis, permettant une communication transparente avec l'API Google.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal