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.htmlQuesta 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 ..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.
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.