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"]
다단계 빌드
다단계 빌드를 사용하는 경우, 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"]
이러한 수정을 통해 보안 연결을 설정하고 "알 수 없는 기관에서 서명한 인증서" 오류를 제거하는 데 필요한 인증서를 컨테이너에 제공하여 Google API와 GoLang HTTP 클라이언트 상호 작용을 성공적으로 수행할 수 있습니다.
위 내용은 GoLang Docker 컨테이너에서 '알 수 없는 기관에 의해 서명된 인증서' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!