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"]
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"]
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!