Я использовал платформу Digtal Ocean для создания своих капель.
После присвоил ему плавающий IP с этой страницы.
https://cloud.digitalocean.com/networking/floating_ips?i=0eb956
Теперь мне нужно получить частный IP-адрес моей капли с помощью команды IP а
root@ubuntu-s-1vcpu-1gb-blr1-01:~# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
инет 127.0.0.1/8 область хоста lo
valid_lft навсегда
inet6 :: 1/128 узел области видимости
valid_lft навсегда
2: eth0: mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 52:a0:A:B:C:D brd ff:ff:ff:ff:ff:ff
inet PUBLICIP/20 brd E.F.G.H глобальная область действия eth0
valid_lft навсегда
inet *PRIVATEIP(X.X.X.X)*/16 brd X.X.I.J глобальная область действия eth0
valid_lft навсегда
inet6 2400:6180:ZZ:ZZ::ZZ:ZZZZ/64 глобальная область действия
valid_lft навсегда
inet6 fe80::50a0:9fff:fe54:add2/64 ссылка на область видимости
valid_lft навсегда
3: eth1: mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 9a:4b:a5:ZZ:ZZ:ZZ brd ff:ff:ff:ff:ff:ff
inet K.L.M.N/20 brd Область O.P.Q.R глобальная eth1
valid_lft навсегда
inet6 fe80::984b:SSSS:TTTT:UUUU/64 ссылка на область действия
valid_lft навсегда
Я получил плавающий IP-адрес, скажем, FLOATINGIPADDRESS
Плавающий IP работает через Anchor IP через интерфейс eth0. Мы можем использовать тот же частный IP-адрес, поскольку любой трафик, отправляемый через плавающий IP-адрес, будет отправляться только на этот частный IP-адрес, т.е. инет *X.X.X.X*/16 брд
Теперь мне нужно, чтобы HAProxy привязывался к этому частному IP-адресу в моем файле конфигурации HAProxy.
судо нано /etc/haproxy/haproxy.cfg
#HAProxy для веб-серверов
веб-интерфейс
привязать PRIVATEIP(X.X.X.X):80
привязать LOADBALNCERIP:80
режим http
default_backend веб-сервер
бэкэнд
http-request set-header X-Forwarded-Proto https if { ssl_fc } # Для Proto
http-request add-header X-Real-Ip %[src] # Пользовательский заголовок с исходным IP-адресом
option forwardfor # X-forwarded-for
круговой баланс
сервер web-server1 IP1:80 проверка
сервер web-server2 IP2:80 проверить
сервер web-server3 IP3:80 проверка
сервер web-server4 IP4:80 проверить
слушать статистику
привязать PRIVATEIP(X.X.X.X):8080
привязать LOADBALNCERIP:8080
режим http
опцион вперед для
опция httpclose
включить статистику
статистика шоу-легенды
обновление статистики 5s
статистика uri /stats
stats realm Haproxy\ Статистика
stats auth root:password #Логин Пользователь и пароль для мониторинга
админ статистики если TRUE
default_backend веб-сервер