Hello, Haproxy is a great tool indeed. And as long as you are able to add some dynamic template generation of haproxy config based on your own business logic I believe you should be good.
You could leverage consul / consul-template and have the haproxy regenerates bases on your business logic. We do use that combination and it works quite well for us. Regards Francis L. Téléchargez Outlook pour Android<https://aka.ms/ghei36> ________________________________ From: Yehuda Cohen <yehu...@elementryx.com> Sent: Friday, September 11, 2020 11:32:51 AM To: haproxy@formilux.org <haproxy@formilux.org> Subject: Performing URL rewriting and re-resolving new URL using configured DNS Hi all, Hoping you can help me with this query. I have a selection of micro-backends deployed per customer as containers on Amazon ECS. These customers each have a public hostname they use to access their respective micro-backend. Currently we are using Amazon’s ALB to dispatch to these services, but each load balancer listener has a maximum of 100 rules that can dispatch traffic. As such we are managing multiple load balancers, and this something I’d rather not do. We are expecting to onboard thousands of customers and are in the process of automating the onboarding workflow. One solution I thought of was to enable service discovery for each of these micro-backends to create an internal SRV record with a domain name that can be inferred from the public hostname. For example: https://customer-a.mypublicdomain.com to http://customer-a.myinternal.domain. I’d then like to point each public hostname to a single reverse proxy (preferably configured with HAProxy). The reverse proxy would then forward the request from the public endpoint to the internal domain name by rewriting the Host header replacing mypublicdomain.com with myinternal.domain. It would then resolve the SRV record for myinternal.domain using a resolver DNS and forward the traffic to the internal micro-backend. In this configuration, I’m looking to have HAProxy rewrite the url and then reresolve the rewritten url with a provided DNS rather than setting up a thousand backends and having to provide server configuration. Is HAProxy a good tool for this use case? If so can anyone point me in a direction that I might use to configure this. So far every HAProxy configuration manual I’ve found that uses service discovery does so requires a backend block per service name. In this case micro-backends are added and deleted with very high frequency and I’d rather not modify HAProxy config files that frequently. All the best, Yehuda