In questo tutorial, ti mostreremo come installare e configurare HAProxy su Ubuntu 16.04 LTS. Per chi non lo sapesse, HAProxy è un servizio di bilanciamento del carico HTTP/TCP gratuito ad alta disponibilità e server proxy.Distribuisce le richieste tra più server per mitigare i problemi derivanti da un errore di un singolo server. HA Proxy è utilizzato da numerosi siti Web di alto profilo tra cui GitHub, Bitbucket, Stack Overflow, Reddit, Tumblr, Twitter e Tuenti e viene utilizzato nel prodotto OpsWorks di Amazon Web Services.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò passo dopo passo l'installazione di HAProxy su un server Ubuntu 16.04 (Xenial Xerus).
Installa HAProxy su Ubuntu 16.04 LTS
Passaggio 1. Innanzitutto, assicurati che tutti i pacchetti di sistema siano aggiornati eseguendo il seguente apt-get
comandi nel terminale.
sudo apt-get updateudo apt-get upgrade
Passaggio 2. Dettagli di rete.
Di seguito è riportato il nostro server di rete. Ci sono 3 server Web in esecuzione con Apache2 e in ascolto sulla porta 80 e un server HAProxy:
Dettagli server Web:Server 1: web1.idroot.us 192.168.1.101 Server 2: web2.idroot.us 192.168.1.102 Server 3: web3.idroot.us 192.168.1.103HAProxy Server:HAProxy: haproxy 9. 1 .6 9. 1 . /pre>Passaggio 3. Installazione di HAProxy.
Ora installa HAProxy con il seguente comando:
apt-get -y install haproxyDopo l'installazione puoi ricontrollare il numero di versione installata con quanto segue:
aproxy -vPassaggio 4. Configurazione di HAProxy.
Dobbiamo modificare il file di configurazione di HAProxy cioè
/etc/haproxy/haproxy.cfg
secondo la nostra esigenza. (Cambia questa configurazione come requisiti di rete). Per maggiori dettagli sulla configurazione, controlla questo URL.### nano /etc/haproxy/haproxy.cfgglobal log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # Posizioni predefinite del materiale SSL ca-base /etc/ssl/certs crt-base /etc/ssl/private # Cifrature predefinite da utilizzare su socket di ascolto abilitati per SSL. # Per ulteriori informazioni, vedere ciphers(1SSL). Questo elenco è tratto da: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256::RSA+ AES:RSA+3DES :! Anull :! Md5 :! DSS SSL-Default-Bind-Options No-SSLV3Defaults Log Modalità Global Opzione HTTP Opzione HTTPlog Opzione DontLognull Timeout Connect 5000 Timeout Client 50000 Timeout Server 50000 ErrorFile 400/etc/HAPROXY/ERRORS/ 400.http file di errore 403 /etc/haproxy/errors/403.http file di errore 408 /etc/haproxy/errors/408.http file di errore 500 /etc/haproxy/errors/500.http file di errore 502 /etc/haproxy/errors/502. http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.httpfrontend Local_Server bind 192.168.1.16:80 modalità http default_backend My_Web_Serversbackend My_Web_Servers modalità http balance roundrobin opzione forward for http-request -Forwarded-Port %[dst_port] http-request add-header X-Forwarded-Proto https se { ssl_fc } opzione httpchk HEAD / HTTP/1.1rnHost:localhost server web1.idroot.us 192.168.1.101:80 server web2.idroot.us 192.168.1.102:80 server web3.idroot.us 192.168.1.103:80 ascolta statistiche *:1936 statistiche abilitate statistiche hide-version statistiche aggiornamento 30s statistiche show-node statistiche auth username:password statistiche uri /statsPoiché hai terminato tutte le configurazioni necessarie per il server proxy, verifica il file di configurazione prima di riavviare il servizio utilizzando il seguente comando:
haproxy -c -f /etc/haproxy/haproxy.cfgSe il comando precedente restituisce l'output come "il file di configurazione è valido", riavvia il servizio HAProxy:
systemctl riavvia haproxyPassaggio 5. Accesso a HAProxy.
Apri il tuo browser preferito e accedi alla porta 80 su IP 192.168.0.16 (come configurato sopra) in un browser web e premi Aggiorna. Vedrai che HAProxy sta inviando richieste al server di back-end uno per uno (come per l'algoritmo round-robin).
Congratulazioni! Hai installato con successo HAProxy. Grazie per aver utilizzato questo tutorial per l'installazione del bilanciamento del carico di HAProxy sul sistema Ubuntu 16.04 LTS (Xenial Xerus). Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito web ufficiale di HAProxy.