Folosisem platforma Digtal Ocean pentru a-mi crea picăturile.
După ce i-ai atribuit un IP plutitor din această pagină.
https://cloud.digitalocean.com/networking/floating_ips?i=0eb956
Acum trebuie să obțin IP-ul privat al picăturii mele folosind comanda ip a
root@ubuntu-s-1vcpu-1gb-blr1-01:~# ip a
1: lo: mtu 65536 qdisc noqueue stare UNKNOWN grup implicit qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 ::1/128 scope host
valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: eth0: mtu 1500 qdisc fq_codel stare UP grup implicit qlen 1000
link/ether 52:a0:A:B:C:D brd ff:ff:ff:ff:ff:ff
inet PUBLICIP/20 brd E.F.G.H scope global eth0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet *PRIVATEIP(X.X.X.X)*/16 brd X.X.I.J scope global eth0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 2400:6180:ZZ:ZZ::ZZ:ZZZZ/64 scope global
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::50a0:9fff:fe54:add2/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
3: eth1: mtu 1500 qdisc fq_codel stare UP grup implicit qlen 1000
link/eter 9a:4b:a5:ZZ:ZZ:ZZ brd ff:ff:ff:ff:ff:ff
inet K.L.M.N/20 brd O.P.Q.R sfera globală eth1
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::984b:SSSS:TTTT:UUUU/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
Am primit IP-ul flotant, cum ar fi, FLOATINGIPADDRESS
IP flotant funcționează prin Anchor IP prezent prin interfața eth0. Putem folosi același IP privat, deoarece orice trafic trimis prin IP flotant va fi trimis numai către acest IP privat, de exemplu inet *X.X.X.X*/16 brd
Acum am nevoie de HAProxy pentru a se lega la acest IP privat din fișierul meu HAProxy cfg.
sudo nano /etc/haproxy/haproxy.cfg
#HAProxy pentru servere web
frontend web-frontend
bind PRIVATEIP(X.X.X.X):80
lega LOADBALNCERIP:80
modul http
default_backend web-backend
backend web-backend
http-request set-header X-Forwarded-Proto https dacă { ssl_fc } # Pentru Proto
http-request add-header X-Real-Ip %[src] # Antet personalizat cu src IP
opțiunea forwardfor # X-forwarded-for
echilibru roundrobin
server web-server1 IP1:80 verificare
server web-server2 IP2:80 verificare
server web-server3 IP3:80 verificare
server web-server4 IP4:80 verificare
asculta statistici
bind PRIVATEIP(X.X.X.X):8080
lega LOADBALNCERIP:8080
modul http
opțiune forwardfor
opțiunea httpclose
statisticile permit
statistici arată-legende
statisticile reîmprospătează 5 secunde
stats uri /stats
domeniul statisticilor Haproxy\ Statistici
stats auth root:parola #Login User și parola pentru monitorizare
statistici admin dacă TRUE
default_backend web-backend