В настоящее время у меня есть внутренний ALB (недоступный для мира) с некоторыми запущенными микросервисами. Теперь я хочу, чтобы мир имел доступ к определенным микросервисам.
Я хотел бы разместить кластер HAProxy перед моим внутренним ALB, который проксирует запросы через него.
backend microservices
reqrep ^([^\ :]*)\ /microservice/(.*) \1\ /\2
Приведенная выше часть конфигурации улавливает все запросы, поступающие от имен хостов, содержащих слово микросервис. Кажется, это работает. Но как я могу их проксировать?
Вам следует взглянуть на некоторые руководства для файлов конфигурации HAProxy, без них этого не произойдет.
И как только вы это сделаете, я думаю, вам следует использовать такую настройку:
acl microservices_acl hdr_beg(host) -i microservices use_backend microsservices_backend if microservices_acl
backend microservices_backend
balance source
hash-type consistent
option httpclose
server <FQDN of the server you need to proxy to> <ip address of that server>:80 check
Есть образец haproxy
конфигурации по всему Интернету, проверьте их!