我已经开发了一个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
由于无法确定错误发生的确切位置,我很难调试一下。任何帮助将不胜感激!
答案 0 :(得分:1)
我正在使用GKE,却发现此链接显示了how to use a Google Managed SSL Certificate。
它非常适合我!抱歉,我无法完全解决此问题,但这是一种更简便的选择,因为它们还可以处理证书的自动化。