Load-Balancing
haproxy 可以通過引用 URL 進行負載平衡嗎?(過濾 Slashdot 場景)
我有一個性能不佳的網路應用程序,它將被大規模擴展以應對網際網路的重量。
Haproxy 將用於將無狀態 Web 請求分流到許多伺服器。但是,可能會出現的流量仍然是有限的,我想優先考慮真正的使用者。
可以將 haproxy 配置為將流量從特定的引薦來源網址發送到特定的盒子嗎?
例如,如果在一篇新聞文章中提到了部署的網關,我可以將流量從那篇文章重定向到一個快速靜態 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
未經測試。