如何使用 HAProxy 进行负载平衡并将其作为 docker 的反向代理?

如何使用 HAProxy 进行负载平衡并将其作为 docker 的反向代理?

我正在使用 HAProxy docker 镜像在多个类似容器之间进行负载共享。如果我使用单个地址(例如web.abc.com仅查询映射到我的 localhost 的 API 容器),它工作正常。但现在我也想使用api.abc.com此 HAProxy 配置文件。

因此,场景是这样的,如果我命中,web.abc.com它将使用循环方式共享 Web 应用程序容器的负载,并向我显示这些容器的内容,如果我命中,api.abc.com它将授予我访问具有 API 的那些容器的权限。

我已尝试使用 haproxy.cfg 进行多次配置更改,但没有效果。

这是我的docker-compose文件,这就是haproxy配置文件我正在使用,这显然不起作用

使用 HAProxy 是否可能实现这种情况?帮帮我吧。

答案1

我会利用https://github.com/jwilder/docker-gen在容器启动/停止时生成 HAProxy 配置。

您可以查看 nginx + letsencrypt 用例中它的使用情况:https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion

相关内容