Creare un reverse proxy con Caddy

Mattepuffo's logo
Creare un reverse proxy con Caddy

Creare un reverse proxy con Caddy

Caddy è un web server molto apprezzato, sia per la velocità che per la facilità di configurazione.

Inoltre gestisce in automatico anche i certificati HTTPS, quindi sul quel lato non c'è nulla da configurare.

In questo articolo vediamo come installarlo e configurarlo per creare un proxy.

In pratica sul mio server, Debian 13, ho un web service che gira sulla porta 3000.

Quando interrogo il mio dominio (che chiameremo mio.dominio.it) deve mandare le richieste a quel servizio.

Prima di tutto installiamolo:

$ sudo apt install caddy

Adesso dobbiamo modificare il file /etc/caddy/Caddyfile; questo il mio:

:80 {
    redir https://{host}{uri}
}

mio.dominio.it {
    reverse_proxy localhost:3000
}

Riavviate il servizio e fate una prova.

Ovviamente anche il web service che gira sulla porta 3000 deve essere attivo.

Se avete due servizi che girano, ad esempio sulla 3000 e sulla 4000, abbiamo due scenari.

Nel primo caso abbiamo sempre e solo un dominio, quindi potete fare così:

mio.dominio.it {
    handle_path /api1/* {
        reverse_proxy localhost:3000
    }

    handle_path /api2/* {
        reverse_proxy localhost:4000
    }
}

handle_path rimuove automaticamente il prefisso /api1 o /api2 prima di passare la richiesta al servizio interno (comportamento tipico dei reverse proxy).
Se invece volete tenerli, usate handle al posto di handle_path.

Se invece avete due domini diversi:

mio.dominio.it {
    reverse_proxy localhost:3000
}

secondo.dominio.it {
    reverse_proxy localhost:4000
}

Ricordatevi di riavviare Caddy.

Enjoy!


Condividi

Commentami!