Installazione di Caddy Server su Ubuntu

Installazione di Caddy Server su Ubuntu
TLS è importante per tutti i siti Web e le app Web là fuori. Se esiste un'app che utilizza HTTP o fa e -mail, ha bisogno di TLS. TLS garantisce la privacy, l'integrità e l'autenticità dei tuoi contenuti. Con le autorità di certificato TLS gratuite come Let's Cript e CloudFlare, TLS si sta trasformando più in una norma piuttosto che in un caso speciale.Tuttavia, l'accensione del TLS è spesso un processo enormemente complicato. Ha anche enormi ramificazioni di sicurezza, se le configurazioni sono maltrattate o il paradiso proibisce, perdi accidentalmente la tua chiave TLS privata. Per mitigare alcuni di questi rischi e anche per rendere le nostre vite molto più facili, c'è un nuovo server web in città. Caddy parla http/2 e viene fornito con TLS abilitato fuori dalla scatola. Ciò significa che non è necessario impostare manualmente HTTP su reindirizzamenti HTTPS o preoccuparti di una cifra Galizion Suite che non hai mai visto prima.

Con Caddy Web Server, ottieni HTTPS o niente. Quindi vediamo come è possibile installare Caddy su Ubuntu e configurarlo per servire la tua app web. Riceveremo i nostri certificati TLS da LetSencrypt.

Impostare

Supponiamo di avere un VPS con indirizzo IP: 10.20.30.40 e un sottodominio FQDN.esempio.com Who è un disco punta a questo IP.
Il VPS sta eseguendo Ubuntu 18.04 LTS Server Edition e le seguenti configurazioni vengono eseguite come utente root.

Passaggio 1: installazione del server Web Caddy

Caddy è scritto in go e può funzionare come binario eseguibile autonomo. Tuttavia, ci sono vari plugin che puoi costruirlo per server DNS specifici, ecc. Installeremo il semplice binario senza alcun plug -in, quindi funziona in tutte le personalizzazioni.

Per ottenere il tuo binario visita la loro pagina di download ufficiali e seleziona tutti i plugin e la telemetria necessaria. Di seguito sarà riportato un comando bash per scaricare e posizionare il binario del server Caddy nella posizione giusta. Come utente root, esegui:

$ curl https: // getcaddy.com | Bash -s personale

Una volta fatto ciò, possiamo individuare il binario, eseguendo:

$ dove è caddy
Caddy:/USR/Local/Bin/Caddy

Se hai mai bisogno di rimuovere il server o aggiornarlo con il nuovo eseguibile, ora sai dove cercare.

Passaggio 2: testare il tuo sito web

Se non hai un sito Web, crea una cartella vuota ed esegui i comandi lì dentro. È possibile ottenere un errore 404 sul browser ma la configurazione del server può ancora essere testata. Se hai un sito Web attraversare la directory in cui si trova il Webroot del tuo sito web. Come esempio tipico, selezionerò il /var/www/mysite Come esempio con il seguente indice.HTML memorizzato al suo interno.

/var/www/mysite/indice.html



Questa pagina è server da Caddy Server


Questa pagina è server da Caddy Server


Questo è un paragrafo.



Questo è abbastanza per farci iniziare. Ora nella stessa directory di questo indice.Pagina HTML, esegui la seguente virgola:

$ caddy
Attivando funzionalità di privacy ... fatto.
http: //: 2015

ATTENZIONE: il limite del descrittore dei file 1024 è troppo basso per i server di produzione. Si consiglia almeno 8192. Correzione con 'Ulimit -N 8192'.

Lascia che Caddy corre in questo stato.

Puoi andare all'IP pubblico del tuo server al numero di porta 2015 per testare questo: http: // 10.20.30.40: 2015 Assicurati che il tuo firewall non stia bloccando questa porta.

E vedrai quell'indice.HTML viene automaticamente servito. Ciò segue la vecchia convention setta che la prima pagina di qualsiasi sito Web sia denominata indice che la maggior parte dei server Web come Nginx, Apache e persino Caddy servono come prima pagina, anche quando non specifica questa pagina utilizzando /indice.HTML alla fine dell'URL.

Passaggio 3: impostare HTTPS

Ora che hai confermato che il tuo sito Web funziona davvero con Caddy e può essere servito con esso, è tempo di configurare HTTPS. Per fare ciò è possibile utilizzare l'interfaccia della riga di comando o utilizzare un file di configurazione chiamato CaddyFile. Useremo prima la riga di comando.

Nella stessa directory del tuo sito Web, esegui il comando seguente:

$ caddy -host sottodominio.esempio.com
## per la prima volta ti chiederà il tuo indirizzo email in modo da poter ottenere
Notifica di rinnovo del certificato da LetSencrypt

Produzione:

Attivazione delle caratteristiche della privacy ..
I tuoi siti verranno serviti automaticamente su HTTPS utilizzando let's crittografiche.
Continuando, accetta l'accordo di abbonato Let's Cript su:
https: // letsencrypt.Org/Documenti/Le-SA-V1.2 novembre-15-2017.PDF
Inserisci il tuo indirizzo email per indicare l'accordo e per essere avvisato
In caso di problemi. Puoi lasciarlo vuoto, ma non lo consigliamo.
Indirizzo e -mail: [email protected]
..

Questo è tutto! Il tuo sito web è ora attivo e funzionante. Puoi visitare il sottodominio.esempio.com e verrà automaticamente reindirizzato a HTTPS senza alcun numero di porta personalizzato o altre sfumature.

È così facile! Puoi CTRL+C per fermare il server, la prossima volta che riutilizza questo certificato.

Passaggio 4: scrivere il tuo caddyfile

Il metodo sopra è buono per i casi d'uso sperimentali in cui si sta solo testando l'acqua. Ma se si desidera un server Web in esecuzione come processo di fondo, è necessario scrivere un CaddyFile e dire al server Web di utilizzare questa configurazione per eseguire il server.

Questo è l'esempio più semplice per lo stesso sito Web che abbiamo ospitato sopra:

sottodominio.esempio.com
root/var/www/mysite

La direttiva root dice al server Web in cui si trova il sito Web. Non puoi uscire da questa directory dal lato client. È generalmente una buona idea posizionare il tuo file caddy ovunque, ma all'interno di questo Webroot. Puoi posizionarlo in / etc / cartella o la tua directory home. Ad esempio, se il file viene creato at /etc /caddyfile, è possibile dire al server di utilizzare questa configurazione, eseguendo il comando:

$ caddy -conf /etc /caddyfile

Ci sono più direttive che puoi utilizzare per ottimizzare il tuo server. È possibile abilitare la registrazione, la compressione, il proxy inverso, ecc. La documentazione ufficiale è un buon posto per iniziare a cercare direttive relative al tuo caso d'uso. Ecco un altro esempio in cui vengono serviti due siti Web con due diversi nomi di dominio:

sottodominio.esempio.com
root/var/www/mysite

sottodominio2.esempio.com
root/var/www/mysite2
gzip
Registro ... /Accesso.tronco d'albero

La direttiva GZIP consente la compressione, se il client lo supporta. Ciò migliora le prestazioni poiché possono essere inviati più dati sulla larghezza di banda e lo stesso intervallo di tempo. La registrazione aiuta con il debug e tenendo traccia dell'attività di rete.

Conclusione

La massima forza di Caddy Web Server è facile da scrivere e leggere il file di configurazione e la sua flessibilità su più piattaforma. Tuttavia, a causa delle sue strane licenze, il server non è strettamente open source. Il codice sorgente è open source e puoi compilarlo totalmente da solo e utilizzare l'eseguibile risultante, ma il binario che ricevi dal sito ufficiale non è pensato per essere utilizzato per scopi commerciali senza una licenza adeguata.

Questo ci riporta al problema delle complicazioni in cui invece di gestire solo file di configurazione, dobbiamo anche gestire la compilation del codice sorgente che sconfigge lo scopo del server Web facile da usare. Facci sapere se hai qualche pensiero su Caddy e se uno dei tuoi siti Web si è classificato sopra.