【问题标题】:Traefik with gRPC and Let's Encrypt?Traefik 与 gRPC 和 Let's Encrypt?
【发布时间】:2018-04-23 08:18:05
【问题描述】:

我按照 Traefik 指南设置了 Let's Encrypt and Docker,现在 my-domain.com 正确地接受了带有静态网站的 HTTPS。接下来我想在my-grpc-server.my-domain.com 获得一个在 Traefik 后面运行的 gRPC 服务器。查看使用gRPC with Traefik 的Traefik 文档,我看到说明是使用自签名证书。如何利用我已经拥有 Let's Encrypt 的有效证书这一事实?

尝试解决方案...在我的 grpc-server Docker 容器中,我可能会挂载 Traefik 写入的 acme.json 文件,从该文件中读取密钥,并使用它们来初始化 gRPC 服务器。这需要一些繁重的工作,这很好,但即便如此,我似乎仍然需要不同的 traefik.toml 配置来解释 Traefik 和我的 grpc-server Docker 容器之间的流量需要 SSL 的事实。


更新:到目前为止,我一直在尝试,但没有成功。为了简单起见,我手动导出了 acme 密钥以进行测试,以便将 Let's Encrypt 的内容从图片中删除。

这是 gRPC 客户端错误: grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with (StatusCode.CANCELLED, Received http2 header with status: 500)>

还有 Traefik 错误: level=warning msg="Error forwarding to https://172.18.0.2:443, err: stream error: stream ID 1; INTERNAL_ERROR"

奇怪的是,当我连接 gRPC 客户端时,gRPC 服务器上没有消息。但是,当我在 Web 浏览器 中点击 my-grpc-server.my-server.com 时,我在 Traefik 中遇到了相同的错误,并且在 gRPC 服务器上出现了另一个错误: E1112 21:06:37.480636928 8 http_server_filter.c:236] GET request without QUERY 我现在想知道为什么流量在 Web 浏览器案例中被转发,而不是在 gRPC 客户端案例中。

【问题讨论】:

    标签: docker grpc lets-encrypt traefik


    【解决方案1】:

    要在 traefik 和容器之间使用 https 进行通信,您需要在容器上添加标签 traefik.protocol=https (https://docs.traefik.io/configuration/backends/docker/#on-containers)

    此外,当 traefik 联系您的后端服务器时,使用 docker 后端,它将使用容器的 IP(并且它与您的域证书不匹配)。所以你可以在你的 traefik 配置中激活InsecureSkipVerify (https://docs.traefik.io/configuration/commons/#main-section)。

    【讨论】:

    • 是否可以在客户端和my-grpc-server.my-domain.com 之间使用 Let's Encrypt,然后对 Traefik 和 gRPC 服务器本身之间的流量使用自签名证书?这样就可以全程加密。
    • 我仍然坚持这个。我在我的 traefik.toml 文件中启用了InsecureSkipVerify = true,但我得到了Error forwarding to https://172.18.0.4:50051, err: tls: first record does not look like a TLS handshake
    • 可以使用 Let's Encrypt 吗?否(不适用于 docker 后端)。你确定你已经在你的 gRpc 客户端和你的 gRpc 服务器上激活了 HTTPS 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    相关资源
    最近更新 更多