Haproxy позволяет использовать имя хоста на строке серверов, чтобы получить его IP-адрес с помощью серверов имени.
По умолчанию HAProxy решает имя при расстановке Файл конфигурации, при запуске и кэше результат для жизни «Срок службы».
Это недостаточно в некоторых случаях, таких как в Amazon, где IP-адрес сервера может измениться после перезагрузки или виртуального IP-адреса elb, можно изменить на основе текущей рабочей нагрузки.
В этой статье описывается, как пользовательские резользеры для разрешения имени сервера обрабатывают время.
1. Обновлять haproxy.cfg.
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4096
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
stats maxconn 1
stats timeout 120s
resolvers awsvpc
nameserver vpc 169.254.169.253:53
defaults
mode tcp
log global
retries 3
timeout connect 10s
timeout client 1m
timeout server 1m
timeout check 10s
maxconn 512
backend myweb
server disabled-server 127.0.0.1:1 disabled
server mydns XXXXXXXXXXXX.ap-northeast-1.rds.amazonaws.com:80 check port 80 resolvers awsvpc inter 2000 fall 5
Примечание: Inserver VPC 169.254.169.253:53 это DNS-сервер/Resolver быть использованным
2. Перезапустить Haproxy Service.
systemctl restart haproxy
3. Результат проверки
~:# netstat -plunt |grep 53 tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 10616/systemd-resol udp 0 0 127.0.0.53:53 0.0.0.0:* 10616/systemd-resol
Подробнее о haproxy.
- Как установить заголовок HTTP-запроса в haproxy
- Как заблокировать IP-адреса в haproxy
Оригинал: «https://dev.to/vumdao/haproxy-with-resolvers-in-case-of-aws-application-loadbalancer-d1n»