有许多依赖项会影响部署的内容及其部署方式,因此我无法完全回答您的问题。
但是,我没有在 Cloud Foundry 的上下文中找到有关 HAProxy 设置的详细信息。
我怀疑您发现的陈述可能是指部署 Cloud Foundry 的 OSS 方法,称为 cf-deployment。您可以将此部署方法配置为使用多个不同的负载均衡器,通常会使用您的 IaaS 特定负载均衡器或 F5 等负载均衡器。许多人在所有环境中都使用它。使用 HAproxy 也是一种可行的替代方案,如果这对您的情况有意义,您可以将 cf-deployment 配置为使用 HAproxy。
HAProxy 配置基于HAProxy Bosh 版本。您可以查看更多关于 HAproxy 如何在该版本中部署的信息。
HAProxy 附带 Cloud Foundry。根据上面的文字,看起来我推送的每个云代工应用程序都在 HAProxy 后面。我的理解正确吗?
是的。HTTP/HTTPS 流量的路径如下所示:
Browser -> HAproxy -> Gorouter -> Your Apps
您的应用程序的流量将始终通过您的负载均衡器实例之一和您的 Gorouter 实例之一(通常是两者的倍数)。
如果我需要在我部署在 CF 上的 HelloWorld 类型应用程序的上下文中检查 HAProxy 的存在,我在哪里可以找到它们?
我不知道作为应用程序开发人员的您是否可以确定正在使用哪种类型的负载均衡器,除非该负载均衡器留下签名,可能在标头中(出于安全原因,通常不会这样做) .
也就是说,从应用程序开发人员的角度来看,您实际上并不需要知道正在使用 HAproxy。它的配置中没有任何东西真正适用于应用程序。
您需要记住的是您的应用程序位于反向代理之后,因此,您需要检查x-forwarded-for
和x-forwarded-proto
标头以正确检索远程客户端以及远程客户端是否使用 TLS。许多 Web 框架都有配置设置来支持这种操作模式,请查看您的框架的文档。
我使用 SAP Cloud Platform 作为 CF 提供程序。
如果您对环境中的特定配置有任何疑问,您需要与管理 Cloud Foundry 环境的运营团队交谈。他们会明确知道正在使用哪些负载均衡器以及它们是如何配置的。