Maison > développement back-end > Golang > Pourquoi mon conteneur GoLang Docker obtient-il une erreur « certificat signé par une autorité inconnue » ?

Pourquoi mon conteneur GoLang Docker obtient-il une erreur « certificat signé par une autorité inconnue » ?

Mary-Kate Olsen
Libérer: 2024-12-01 02:43:10
original
816 Les gens l'ont consulté

Why Does My GoLang Docker Container Get a

Problème du conteneur Docker : certificat d'erreur signé par une autorité inconnue

L'exécution d'un conteneur Docker à l'aide du http.Client de GoLang peut entraîner le message d'erreur " certificat signé par une autorité inconnue." Ce problème a été rencontré lors de la création d'un conteneur à partir de zéro ou de l'utilisation d'images Ubuntu/Alpine.

Pour comprendre le problème, il est important de noter que http.Client utilise la configuration TLS dans le magasin de certificats du système. Lorsqu'un conteneur est créé à partir de zéro, il n'a aucun certificat de confiance par défaut.

Solution :

La solution à ce problème dépend du type de Docker image que vous utilisez :

Scratch Image :

  1. Incluez les certificats de confiance dans votre image. Par exemple, vous pouvez ajouter un fichier ca-certificates.crt au répertoire /etc/ssl/certs :
FROM scratch
ADD ca-certificates.crt /etc/ssl/certs/
ADD main /
CMD ["/main"]
Copier après la connexion

Image multi-étapes :

  1. Ajouter le package ca-certificates pendant la construction étape :
FROM golang:alpine as build
RUN apk --no-cache add ca-certificates
Copier après la connexion
  1. Copiez les certificats de l'étape de construction vers l'image finale :
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 incluant les certificats de confiance dans l'image Docker , votre http.Client pourra vérifier le certificat du serveur et envoyer avec succès des requêtes HTTPS à l'API de 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