我目前有一个内部 ALB(外部无法访问),其中运行着一些微服务。现在我想让外部可以访问某些微服务。
我想在我的内部 ALB 前面放置一个 HAProxy 集群,以便通过它代理请求。
backend microservices
reqrep ^([^\ :]*)\ /microservice/(.*) \1\ /\2
上面的配置会捕获来自包含单词 microservice 的主机名的所有请求。这似乎有效。但我该如何代理它们呢?
答案1
您应该查看一些 HAProxy 配置文件的指南,没有它就无法实现。
一旦您这样做了,我认为您应该使用这样的设置:
- 定义 haproxy ACL
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
互联网上到处都有示例配置,请查看!