GNU/Linux >> Linux Esercitazione >  >> FreeBSD

Come installare HAProxy su FreeBSD

HAProxy, come suggerisce il nome, è un server proxy e un sistema di bilanciamento del carico per fornire un'elevata disponibilità. In questo articolo prima mostrerò come installare HAProxy in FreeBSD. Successivamente ci imposteremo per agire come proxy inverso.

L'installazione

In FreeBSD mi piace creare e installare il mio software dall'albero dei port, quindi esegui come root:

# cd /usr/ports/net/haproxy
# make install clean

Presta attenzione allo schermo per vedere se vengono visualizzate alcune finestre di dialogo delle opzioni (principalmente dalle dipendenze). Abilita HAProxy in /etc/rc.conf una volta installato e continua con la sezione successiva:

# /usr/local/etc/rc.d/haproxy enable
haproxy enabled in /etc/rc.conf

La configurazione

Prima di procedere alla modifica del file di configurazione, lascia che ti spieghi uno scenario:

Innanzitutto abbiamo un solo IP pubblico disponibile. In secondo luogo, abbiamo un paio di servizi che vogliamo esporre su Internet, diciamo un'app (webapp) e il nostro sito web. Entrambi sono in esecuzione sui propri server. Finalmente abbiamo un terzo server di riserva dove abbiamo già installato HAProxy nella sezione precedente e questo sarà quello esposto su internet.

Un utente punterà il proprio browser su http://haproxy/website o http://haproxy/app e haproxy invierà la query al server corretto e restituirà i risultati al browser.

                                      ________         /------- [server A]
[ client browser] ----->   | haproxy  |-----+
                                    +----------+        \--------[server B]

Ad ogni modo, Wikipedia spiega meglio come funziona un proxy inverso.

Aggiungi le seguenti sezioni a /usr/local/etc/haproxy.conf. Per iniziare vanno bene i valori di default globali:

frontend http-in
    bind *:80
    option forwardfor
    use_backend uno if { path_beg /app}
    use_backend dos if { path_beg /www }

backend uno
    mode http
    server nodea ipAp.or.fqdn:port

backend dos
       mode http
       server nodeb ipB.or.fqdn:port

Se tu, come me, non hai un esempio haproxy.conf, aggiungi questa sezione all'inizio del file:

global
    daemon
    maxconn 4096

defaults
   log global
   mode http
   timeout connect 5s
   timeout client 10s
   timeout server 10s

Con questa configurazione minima puoi verificare se tutto è a posto e avviare il servizio:

A scopo di test ho creato haproxy per ottenere cose dal mio PC:


Ho un Apache in cui memorizzo alcuni programmi di cui potrei aver bisogno quando sono sul PC di qualcun altro. La parola magica è l'URL completo di alcuni di questi programmi.

Che ne dici di alcuni reali uso di HAProxy?

Questo è un esempio minimo, non molto utile tra l'altro. Consiglio vivamente di leggere almeno due documenti di HAProxy:

  • Guida introduttiva e
  • Manuale di configurazione

E il tuo haproxy.conf file sarebbe complicato o semplice quanto necessario.


FreeBSD
  1. Come installare HAProxy su Debian 11

  2. Come installare Gitlab su FreeBSD

  3. Come installare Gnome su FreeBSD 13

  4. Come installare Cinnamon in FreeBSD 13

  5. Come installare XFCE in FreeBSD 13

Come installare HAProxy su CentOS 8

Come installare HAProxy su Ubuntu 16.04 LTS

Come installare HAProxy su Ubuntu 18.04 LTS

Come installare HAProxy su Ubuntu 20.04 LTS

Come installare Apache in FreeBSD

Come installare WordPress su FreeBSD