Haproxy
HAProxy 在伺服器配置中使用 url?
現在,我的配置如下所示:
server node1 10.20.x.y:80 check server node2 10.20.x.y:80 check server node3 10.20.x.y:80 check
在這裡使用 URL 而不是 IP 的最佳方法是什麼?
類似的東西(但這似乎不起作用):
server node1 url-1.google.com:80 check server node2 url-2.google.com:80 check server node3 url-3.google.com:80 check
當您想使用主機名而不是 IP 地址時,在 HAproxy 術語中稱為 DNS 解析。您需要指定配置 DNS的“解析器”部分。例如:
resolvers mydns nameserver dns1 10.0.0.1:53 nameserver dns2 10.0.0.2:53 resolve_retries 3 timeout resolve 1s timeout retry 1s hold other 30s hold refused 30s hold nx 30s hold timeout 30s hold valid 10s hold obsolete 30s
然後,您必須在需要 DNS 解析的每個伺服器行上精確一個
resolvers
參數。server s1 app1.example.com:80 resolvers mydns resolve-prefer ipv6
額外信用除了列舉配置中的每個節點,您還可以在 URL 中使用循環 DNS 記錄。這意味著您還可以減少從集群中添加/刪除節點時所需的配置更改,以僅更改 DNS 記錄。
DNS 記錄將如下所示:
app1.example.com. IN A 192.0.2.1 app1.example.com. IN A 192.0.2.2 app1.example.com. IN A 192.0.2.3