超级错误:无效证书:UnknownIssuer

问题描述 投票:0回答:2

(我在找到解决方案后添加这个问题,因为当我需要它时,没有匹配我的错误。)

将 Rust 应用程序打包为 docker 容器后,出现以下错误:

Hyper error: invalid certificate: UnknownIssuer

我使用了官方 rust docker 镜像中的示例(参见 https://hub.docker.com/_/rust/):

FROM rust:1.40 as builder
WORKDIR /usr/src/myapp
COPY . .
RUN cargo install --path .

FROM debian:buster-slim
RUN apt-get update && apt-get install
COPY --from=builder /usr/local/cargo/bin/myapp /usr/local/bin/myapp
CMD ["myapp"]
rust hyper rust-warp
2个回答
4
投票

问题是 debian docker 镜像不包含

ca-certificate
包。使用以下方法解决了问题:

FROM rust:1.40 as builder
WORKDIR /usr/src/myapp
COPY . .
RUN cargo install --path .

FROM debian:buster-slim
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
COPY --from=builder /usr/local/cargo/bin/myapp /usr/local/bin/myapp
CMD ["myapp"]

0
投票

我在 Node 环境中遇到此错误。

对我来说,答案是不要使用“苗条”版本:

# Change
FROM node:20-slim AS base
# To
FROM node:20 AS base
© www.soinside.com 2019 - 2024. All rights reserved.