【发布时间】:2019-08-22 10:39:32
【问题描述】:
我有一个成功运行 Glowroot 代理的应用程序。我正在尝试为代理设置一个 Glowroot 收集器与之通信。
在我的本地环境中,我使用自签名证书在glowroot.local.mydomain.com 运行收集器,gRPC 通过位于 Glowroot 前面的 NGINX 代理使用 SSL,每个都在它自己的 Docker 容器中。这很好用。
我在部署到 AWS 时出现了问题。对于我们的其他(大型)应用程序,我们在 EC2 上运行,前面有一个 ALB,使用来自 ACM 的证书,SSL 终止于 LB。
我正在尝试对 Glowroot 做同样的事情 - 在 glowroot.staging.mydomain.com 上运行(最终只在 glowroot.mydomain.com 上运行) - 但鉴于 Glowroot 需要 gRPC,而后者又需要 HTTP/2,我无法得到它与 ALB 一起工作,因为 ALB 总是将 HTTP/2 请求转换为 HTTP/1.1。
我查看了 Classic LB,但它们不执行 SSL 终止,这是一个明显的问题,我无法让 NLB 工作。
有没有人有解决此类问题的经验?我已经看到如果 gRPC 请求来自浏览器,那么 gRPC-Web 是一个选项,但如果请求来自另一个服务(在本例中是 Glowroot 代理)怎么办?
【问题讨论】:
标签: amazon-web-services grpc amazon-elb