Uno dei componenti di Internet o più in generale del World Wide Web è il web server, si tratta di un'applicazione che, stando in esecuzione su di un server, gestisce le richieste di trasferimento di pagine web di un client, solitamente un web browser. La comunicazione tra server e client si basa sul protocollo HTTP/HTTPS. A questo proposito oggi vogliamo parlarvi proprio di un web server chiamato Caddy.
Il creatore di Caddy, Matt Holt, lo definisce come un general-purpose web server, di base si propone come alternativa ad Apache ed attualmente è il primo web server ad aver avere la capacità di acquisire e rinnovare automaticamente i certificati TLS/SSL dei vari siti web tramite Let’s Encrypt.
Ma vediamo tutte le sue feature principali:
- gestione più veloce delle richieste HTTP grazie ad HTTP/2;
- configurazione rapida e ridotta all'osso per un deploy celere;
- supporto a TLS out-of-the-box e possibilità utilizzare le proprie chiavi e certificati;
- è completamente standalone e si compone di un singolo file di configurazione;
- supporto per l'esecuzione su più core e CPU;
- Advanced WebSockets technology: sessione di comunicazione interattiva tra browser e server;
- server Markdown;
- pieno supporto a IPv6;
- possibilità di creare i file di log nel formato che si preferisce;
- disponibile per Windows, Linux, BSD, MacOS ed Android.
Essendo Caddy completamente standalone è possibile installarlo in una manciata di minuti:
mkdir caddy
cd caddy
sudo curl https://getcaddy.com | bash -s personal [Per uso personale]
sudo curl https://getcaddy.com | bash -s commercial [Per uso commerciale]
Adesso basterà creare una normale pagina HTML e spostarla dentro la directory caddy
creata poco fa. Ora indirizziamo il nostro browser su localhost/2015/index.html per visualizzare la nostra pagina HTML. Anche la procedura per impostare un dominio è molto semplice.
Prima di tutto bisogna creare una cartella col nome del dominio:
cd caddy
mkdir dominio-esempio.com
ora generiamo un file chiamato Caddyfile ed impostiamo la web root directory:
nano Caddyfile
dominio-esempio.com {
root /caddy/dominio-esempio.com
}
Salviamo il file, riavviamo il demone di Caddy e automaticamente verrà generato ed implementato un nuovo certificato SSL/TLS tramite Let’s Encrypt.
Via Caddy Server