In questo tutorial, ti mostreremo come installare HAProxy sulla tua Debian 9. Per quelli di voi che non lo sapessero, HAProxy è un proxy e bilanciatore di carico HTTP/TCP gratuito ad alta disponibilità server. Diffonde le richieste tra più server per mitigare i problemi derivanti da un singolo errore del 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 da 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 Debian 9 (Stretch).
Installa HAProxy su Debian 9 Stretch
Passaggio 1. Prima di installare qualsiasi software, è importante assicurarsi che il sistema sia aggiornato eseguendo il seguente apt-get
comandi nel terminale:
apt-get updateapt-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 . /pre>Passaggio 3. Installazione di HAProxy.
Debian 9 viene già fornito con HAProxy 1.7 (l'ultima versione stabile al momento della scrittura), e possiamo semplicemente installarlo usando apt-get:
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. (Modificare 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.18: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_f c } 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:80listen stats *:1936 stats abilita statistiche nascondi-versione statistiche aggiorna 30 secondi statistiche show-node statistiche auth username:password statistiche uri /statsPoiché hai completato 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.18 (come configurato sopra) in un browser web e premi Aggiorna. Vedrai che HAProxy sta inviando richieste al server di backend uno per uno (come per l'algoritmo round-robin).
Congratulazioni! Hai installato con successo HAProxy. Grazie per aver usato questo tutorial per installare l'ultima versione di HAProxy sul server Debian 9 Stretch. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il sito ufficiale HAProxy.