【发布时间】:2019-06-29 10:39:34
【问题描述】:
我正在尝试在 haproxy 后端模块配置中使用域名
backend prod_auth
balance leastconn
option httpchk GET /auth-service/generalhealthcheck
http-check expect string "Service is up and reachable"
server auth-service-1 domain-service.com:8080 check
但是 haproxy 使用 domain-service.com 的 IP(10.1.122.83) 而不是域名本身进行健康检查,这成为一个问题,因为我的服务在域名而不是 IP 上工作。
root@ram:~$ curl http://domain-service.com/auth-service/generalhealthcheck
["Service is up and reachable"]
root@ram:~$ curl http://10.1.122.83/auth-service/generalhealthcheck
<html><body><h1>503 Service Unavailable</h1>
No server is available to handle this request.
</body></html>
我无法让我的服务在 IP 上运行,因为有多个其他服务在同一台服务器上运行并使用不同的域名 (rDNS)。
我不知道为什么 haproxy 使用 IP 而不是域名,我使用 WireShark 进行了验证。有什么办法可以强制 haproxy 使用后端模块中提到的域名?
我尝试在 /etc/hosts 中进行设置,但不起作用
domain-service.com domain-service.com
我正在使用 HA-Proxy 版本 1.7.8 2017/07/07
【问题讨论】:
标签: haproxy