AWS SES错误:x509:由未知机构签名的证书

8

我已经苦思冥想了一段时间,但仍然卡在这个问题上。我已经成功地使用具有完全访问权限的 AWS 访问密钥和秘密在本地发送电子邮件。但是,一旦我部署到我的分阶段环境中,就会出现相同访问密钥和秘密的错误。

RequestError: 发送请求失败\n原因:Post https://email.us-east-1.amazonaws.com/:x509:证书由未知机构签名

请帮帮我!


需要在你的问题中提供更多细节。也许展示一部分你的程序会有帮助?你认为错误是来自客户端还是服务器?你能用像openssl s_client这样的工具来引发类似的错误吗? - Vorsprung
4
请确保在您的实例上安装了 ca-certificates 软件包。安装后,请重新启动您的 Go 程序。 - Peter
@Peter 谢谢你,Peter。这就是我所缺少的! - Shane Da Silva
@Peter - 请将您的评论作为答案发布,附上更多细节。这将有助于其他人理解此错误的含义。 - John Hanley
2个回答

15

如果您例如使用alpine docker image

FROM alpine:3.6 as alpine

RUN apk add -U --no-cache ca-certificates

FROM scratch
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

添加根证书 ca-certificates 后,它将能够正常工作。


谢谢,这对我很有帮助。如果您没有使用多阶段的Docker文件,您可以添加RUN apk add -U --no-cache ca-certificates - Crazometer
@Dattatray sudo apt-get install ca-certificates -y请执行以下命令:sudo apt-get install ca-certificates -y - KorbenDallas
3
Debian/Ubuntu: apt-get update && apt-get install -y --no-install-recommends ca-certificates,如果使用多阶段构建,则复制到相同位置。这个serverfault上的答案列出了其他Linux发行版预期位置的良好列表 https://serverfault.com/a/722646/443669。 - Davos

3

我的项目部署在Ubuntu机器上,我正在使用Golang,这是我的Dockerfile。

请注意,我已经两次使用了命令。 我成功地部署了我的项目,并且它的工作符合预期。

FROM golang:1.16.5 AS builderStep

# Install Certificate
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates

FROM scratch AS app

# Copy Certificate
COPY --from=builderStep /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/

COPY --from=builderStep /my/source/code/ .


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接