HAProxy è un'applicazione software di rete che offre elevata disponibilità, bilanciamento del carico e proxy per le applicazioni di rete TCP e HTTP. È adatto per traffico intenso e alimenta molti siti Web. Questo articolo ti mostrerà come installare e configurare HAProxy su Ubuntu 14.04.
Sebbene HAProxy abbia diverse funzionalità di spicco, questo articolo si concentra su come impostare HAProxy su "proxy" dell'applicazione Web.
Installazione di HAProxy
Poiché Ubuntu 14.04 non viene fornito con HAProxy 1.5 (ultima versione stabile al momento della scrittura), dovremo utilizzare un PPA per poterlo installare usando apt-get
:
add-apt-repository ppa:vbernat/haproxy-1.5
Successivamente, aggiorna il sistema:
apt-get update
apt-get dist-upgrade
Ora installa HAProxy con il seguente comando:
apt-get install haproxy
Se tutto ha esito positivo, hai finito di installare HAProxy e puoi procedere al passaggio successivo.
Configurazione di HAProxy
Il file di configurazione del proxy HA è suddiviso in due sezioni: "globale" e "proxy". Uno riguarda la configurazione dell'intero processo, mentre l'altro è costituito dalle sezioni di configurazione, frontend e backend predefinite.
Sezione globale
Con il tuo editor di testo preferito, apri /etc/haproxy/haproxy.cfg
e noterai le sezioni predefinite: "globale" e "valori predefiniti". La prima cosa che potresti voler fare è aumentare le maxconn
dimensioni ragionevoli, poiché ciò influisce sulle connessioni consentite da HAProxy. Troppe connessioni potrebbero causare l'arresto anomalo del servizio Web a causa di molte richieste. Dovrai regolare le dimensioni per vedere cosa funziona per te. Nella sezione globale, aggiungi o modifica maxconn
in 3072.
Nella sezione predefinita, aggiungi le seguenti righe in mode http
:
option forwardfor
option http-server-close
Ciò aggiungerà le X-Forwarded-For
intestazioni a ogni richiesta, oltre a ridurre la latenza tra HAProxy e preservare le connessioni persistenti del client.
Sezione proxy
Frontend e Backend
Comunemente, la prima cosa da fare è configurare un frontend per gestire le connessioni HTTP. Aggiungi quanto segue:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
Nota: assicurati di sostituire public_ip
con il tuo dominio o il tuo IP pubblico. Altrimenti, l'intera configurazione non funzionerà.
Dopo aver terminato la configurazione del frontend, ora è possibile aggiungere il backend aggiungendo le seguenti righe alla fine della configurazione:
backend wwwbackend
server 1-www private_ip_1:80 check
server 2-www private_ip_2:80 check
server 3-www private_ip_3:80 check
La configurazione del backend utilizzato qui crea una connessione denominata X-www
a private_ip_X:80
(sostituire X con 1 - 3. e sostituire private_ip_X
con il vostro ip privato o pubblico). Ciò ti consentirà di bilanciare il carico tra ciascun set di server (supponendo che tu abbia più di un server). L' check
opzione consente al bilanciamento del carico di eseguire controlli di integrità sul server.
Al termine, salvare il file di configurazione, quindi riavviare HAProxy eseguendo:
service haproxy restart
Se tutto funziona, sarai in grado di collegarti http://public_ip/
(sostituendolo con il tuo IP VPS Vultr) e visualizzare il tuo sito Web.