Rob*_*bin 4 load-balancing haproxy
我有一个性能不佳的网络应用程序,它将被大规模扩展以应对互联网的重量。
Haproxy 将用于将无状态 Web 请求发送到许多服务器。但是,可能到来的流量仍然有限,我想优先考虑真正的用户。
haproxy 可以配置为将流量从特定的引用 URL 发送到特定的框吗?
例如,如果新闻文章中提到了部署的网关,我可以将来自该文章的流量重定向到一个快速的静态 HTML 站点,并说“谢谢您的关注,这里有一些信息。”?
如果这是可能的,也许有人可以共享配置文件中的相关片段。
是的,它可以。从文档中,
hdr_dir
hdr_dir(标题)
当标头之一包含分隔或由斜杠分隔的字符串之一时,返回 true。这用于执行文件名或目录名匹配,并且可以与 Referer 一起使用。有关标头匹配的更多信息,请参阅“hdr”。
因此,您可以检查 hdr_dir(referer) 以查看它是否与特定路径匹配,如果匹配,则设置一个标志,然后根据该标志将流量发送到各个目的地。
acl slashdot hdr_dir(referer) -i /some/path
use_backend cluster1 if slashdot
use backend cluster2 if !slashdot
backend cluster1
server servera 192.168.0.50:80
backend cluster2
server serverb 192.168.0.51:80
Run Code Online (Sandbox Code Playgroud)
未经测试。