linux/hub linux/hub
cerca

+ contenuti

Lo sapevi che puoi trovare tanti altri contenuti sul nostro feed Telegram?

#howto - Configurazione di un reverse_proxy su Caddy Server 2

Scritto da il
centos - php - rhel - caddy - bash

Caddy è un Web Server altamente estensibile e performante scritto in linguaggio Go.

Abbiamo già visto come servire applicazioni PHP con Caddy Server. In questa piccola guida vediamo come effettuare un reverse_proxy, ossia servire tramite caddy, una applicazione che viene già eseguita su una porta e/o un indirizzo/posizione differente.

Questo sistema torna utile quando si vuole servire applicazioni Python, Asp.NET, NodeJS e simili che spesso ospitano il processo su una porta dedicata.

Installazione di Caddy 2

Abbiamo già trattato l’argomento installazione, è importante averne una funzionante prima di procedere con le altre istruzioni in questa guida.

Configurazione reverse_proxy

Caddy offre due tipologie di configurazione, da linea di comando e tramite Caddyfile. In questa guida tratteremo solo il metodo tramite Caddyfile che risulta essere il più semplice e versatile oltre che facile da mantenere.

Consiglio di leggere la sezione Domini multipli della guida di installazione per le istruzioni su come configurare i Caddyfile.

Caddyfile

Creiamo un nuovo Caddyfile con la seguente configurazione esempio:

ilmiosito.ex {
		reverse_proxy 127.0.0.1:9000
}

dove:

  • ilmiosito.ex è il nome a dominio che punta al server
  • reverse_proxy 127.0.0.1:9000 sono indirizzo IP e porta del servizio a cui vogliamo effettuare il reverse proxy

L’opzione reverse_proxy supporta anche altri upstream:

  • localhost:9000
  • http://dominio_esterno.ex:9000
  • https://dominio_esterno.ex (quando la porta non è specificata viene intesa quella definita dal protocollo, in questo caso 443 poichè servita con SSL)
  • unix//socket_name.sock (possiamo usare questa direttiva per servire ad esempio contenuti php, puntando quindi al socket php-fpm)
  • srv+http://internal.service.consul

Mettiamo caso di avere una applicazione Django in esecuzione sullo stesso server in modalità sviluppo su porta 9090, l’indirizzo sarà quindi locale 127.0.0.1 e la porta 9090, nell’esempio quindi:

ilmiosito.ex {
		reverse_proxy 127.0.0.1:9090
}

Salviamo la configurazione e riavviamo caddy via systemctl:

systemctl restart caddy

Visitando ilmiosito.ex verrà mostrato il contenuto a cui stiamo puntando, passando quindi dalla porta 9090 alla porta 443.

Per maggiori informazioni, dubbi e chiarimenti, non esitate a fare domande sul nostro gruppo Telegram.