Модуль Haproxy Backend использует IP вместо имени домена - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь использовать имя домена в конфигурации бэкэнд-модуля 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 использует IP (10.1.122.83) domain-service.com вместо самого имени домена для проверки работоспособности,это становится проблемой, потому что моя служба работает на доменное имя, а не на 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-Версия прокси 1.7.8 2017/07/07

1 Ответ

0 голосов
/ 29 июня 2019

Вы можете настроить отправку заголовка Host на свой домен, используя тот же option httpchk, как указано ниже:

backend domain-service-backend
   mode http
   option httpchk GET /get HTTP/1.1\r\nHost:\ domain-service.com
...