>백엔드 개발 >Golang >Docker 컨테이너에서 GoLang의 HTTP.Client를 사용할 때 '알 수 없는 기관에서 서명한 인증서' 오류를 해결하는 방법은 무엇입니까?

Docker 컨테이너에서 GoLang의 HTTP.Client를 사용할 때 '알 수 없는 기관에서 서명한 인증서' 오류를 해결하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-06 12:10:251028검색

How to Resolve

GoLang HTTP.Client가 포함된 Docker 컨테이너에서 인증 기관 오류가 발생함

개인이 Google API와 통신하려고 시도하면서 Docker를 구성했습니다. GoLang을 활용하는 컨테이너입니다. 처음에는 SCRATCH 컨테이너를 사용하여 "알 수 없는 기관에서 서명한 인증서"라는 오류가 발생했습니다. ubuntu/alpine으로 전환해도 오류가 지속됩니다.

컨테이너 내에 신뢰할 수 있는 인증서가 없기 때문에 문제가 발생합니다. 이 문제를 해결하기 위해 두 가지 접근 방식을 채택할 수 있습니다.

스크래치 이미지

애플리케이션과 함께 신뢰할 수 있는 인증서를 통합합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.