gpt4 book ai didi

rest - Docker 容器中的 HTTP 请求因 HTTPS 端点而失败

转载 作者:行者123 更新时间:2023-12-01 22:23:07 25 4
gpt4 key购买 nike

我在 golang 中构建了一个小应用程序,使用 alpine:golang 基本镜像,其中包括来自 HTTP.get 的响应。

我请求的 api 端点通过 HTTPS (https://jsonplaceholder.typicode.com/users) 运行

该代码在本地运行良好,并且 docker 镜像构建良好,但运行时出现以下错误:

The HTTP request failed with error Get "https://jsonplaceholder.typicode.com/users": x509: certificate signed by unknown authority

我不确定这是否是特定的 Docker 问题(我无法从其他 Docker 容器中 curl HTTPS)、我的网络限制(我不在 VPN 上但我们确实使用 zScaler),或者我是否需要包括/configure 作为我的 Dockerfile 的一部分。我的 dockerfile 看起来像:
FROM alpine:golang

#Create and set the working directory
RUN mkdir /app
WORKDIR /app

# Copy all the go scripts into the image working directory
COPY /pipelines/core/rtbf-pipeline-1 ./


# Make the binaries executable
RUN chmod +x /app/rtbf-pipeline-1

CMD ["app"]

任何帮助将不胜感激

最佳答案

您需要将一组受信任的根证书复制到您的 Docker 镜像。

在您的 Dockerfile添加类似的内容:

FROM golang:alpine AS build

// build your go app here

FROM scratch

// copy go app from `build`
// ...

//
// add trust certs
//
COPY --from=build etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

关于rest - Docker 容器中的 HTTP 请求因 HTTPS 端点而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61752074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com