在gRPC服务之前使用Envoy代理时,SSL错误ERR_CERT_AUTHORITY_INVALID

时间:2019-04-11 18:54:44

标签: ssl kubernetes grpc google-kubernetes-engine envoyproxy

我已经开发了一个gRPC服务,该服务已部署在Kubernetes集群上,并且我正在使用来自nodejs客户端的grpc-web进行连接。这意味着我需要在服务之前使用代理。一切都可以在没有SSL的this envoy configuration上完美运行,但是现在我需要保护连接以使其准备好投入生产。

这是我已完成的步骤

1)生成密钥,当使用this tutorial询问时输入我的域res

2)编辑Dockerfile以添加密钥

res = ' '
def paper_doll(text):
    r = res
    for i in text:
        r = r+i+i+i
    return r

3)更新了envoy配置,以在端口上使用tls

It's much easier to read this config file with highlighting so here is a gist of it.

发生了什么
我这样拨打服务电话

simulation.terrarium.ai

这时,我已经在kubernetes集群中运行了grpc服务和envoy代理,就像添加TLS之前一样。当我尝试通过浏览器进行连接时,出现此错误:

FROM envoyproxy/envoy:latest

COPY envoy-proxy-tls.yaml /etc/envoy.yaml

EXPOSE 9091

ADD ./certs/simulation.terrarium.ai.crt /etc/simulation.terrarium.ai.crt
ADD ./certs/simulation.terrarium.ai.key /etc/simulation.terrarium.ai.key
ADD ./certs/rootCA.crt /etc/rootCA.crt

WORKDIR /etc/envoy
CMD /usr/local/bin/envoy -c /etc/envoy.yaml

由于无法确定错误发生的确切位置,我很难调试一下。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我正在使用GKE,却发现此链接显示了how to use a Google Managed SSL Certificate

它非常适合我!抱歉,我无法完全解决此问题,但这是一种更简便的选择,因为它们还可以处理证书的自动化。