caddy

Installazione di Caddy Server su Ubuntu

Installazione di Caddy Server su Ubuntu
TLS è importante per tutti i siti Web e le app Web disponibili. Se c'è un'app che utilizza HTTP o invia e-mail, ha bisogno di TLS. TLS garantisce la privacy, l'integrità e l'autenticità dei tuoi contenuti. Con le autorità di certificazione TLS gratuite come Let's Encrypt e CloudFlare, TLS si sta trasformando più in una norma che in un caso speciale.Tuttavia, l'attivazione di TLS è spesso un processo estremamente complicato. Ha anche enormi ramificazioni sulla sicurezza, se le configurazioni vengono gestite male, o il cielo non voglia, perdi accidentalmente la tua chiave TLS privata. Per mitigare alcuni di questi rischi e anche per semplificarci la vita, c'è un nuovo server web in città. Caddy parla HTTP/2 e viene fornito con TLS abilitato pronto all'uso. Ciò significa che non devi impostare manualmente i reindirizzamenti da HTTP a HTTPS o preoccuparti di una suite di cifratura gallizion che non hai mai visto prima.

Con il server web Caddy, ottieni HTTPS o niente. Quindi vediamo come puoi installare Caddy su Ubuntu e configurarlo per servire la tua app web. Otterremo 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 chi è un record punta a questo IP.
Il VPS esegue Ubuntu 18.04 L'edizione del server LTS e le seguenti configurazioni vengono eseguite come utente root.

Passaggio 1: installazione del server Web Caddy

Caddy è scritto in Go e può essere eseguito come binario eseguibile autonomo. Tuttavia, ci sono vari plugin che puoi incorporare per server DNS specifici, ecc. Installeremo il binario semplice senza alcun plug-in in modo che funzioni con tutte le personalizzazioni.

Per ottenere il tuo binario, visita la loro pagina di download ufficiale e seleziona tutti i plugin e la telemetria di cui hai bisogno. Sotto ci sarà un comando bash per scaricare e posizionare il binario del server caddy nella giusta posizione. Come utente root, esegui:

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

Fatto ciò, possiamo individuare il binario, eseguendo:

$ dov'è il caddie
caddy: /usr/local/bin/caddy

Se hai bisogno di rimuovere il server o aggiornarlo con un eseguibile più recente, 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 al suo interno. Potresti ricevere un errore 404 sul tuo browser ma la configurazione del server può ancora essere testata. Se hai un sito web, passa alla directory in cui si trova la webroot del tuo sito web in. Come esempio tipico, selezionerò il /var/www/miosito ad esempio con il seguente indice.html memorizzato al suo interno.

/var/www/mysite/index.html



Questa pagina è servita da Caddy Server


Questa pagina è servita da Caddy Server


Questo è un paragrafo.



Questo è sufficiente per iniziare. Ora nella stessa directory di questo indice.html, esegui il seguente comando:

$ caddy
Attivazione delle funzioni di privacy... fatto.
http://:2015

AVVISO: il limite del descrittore di file 1024 è troppo basso per i server di produzione. Si consiglia almeno 8192. Risolto con 'ulimit -n 8192'.

Lascia il caddy in esecuzione in questo stato.

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

E vedrai quell'indice.html viene servito automaticamente. Ciò segue l'antica convenzione secondo cui la prima pagina di qualsiasi sito Web è denominata index che la maggior parte dei server Web come Nginx, Apache e persino Caddy funge da prima pagina, anche quando non si specifica questa pagina utilizzando / index.html alla fine dell'URL.

Passaggio 3: configurazione di HTTPS

Ora che hai confermato che il tuo sito web funziona davvero con Caddy e può essere servito con esso, è il momento di configurare HTTPS. Per fare ciò puoi 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 seguente comando:

$ caddy -host sottodominio.esempio.come
## 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 funzioni di privacy..
I tuoi siti verranno serviti automaticamente su HTTPS utilizzando Let's Encrypt.
Continuando, accetti il ​​Contratto di sottoscrizione di Let's Encrypt all'indirizzo:
https://letsencrypt.org/documenti/LE-SA-v1.2-novembre-15-2017.PDF
Inserisci il tuo indirizzo email per confermare l'accordo e per essere avvisato
in caso di problemi. Puoi lasciarlo vuoto, ma non lo consigliamo.
Indirizzo e-mail: [e-mail protetta]

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

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

Passaggio 4: scrivere il tuo Caddyfile

Il metodo sopra è buono per casi d'uso sperimentali in cui stai solo testando l'acqua. Ma se vuoi un server web in esecuzione come processo in background devi scrivere un Caddyfile e dire al server web di usare questa configurazione per eseguire il tuo server.

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

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

La direttiva root dice al server web dove si trova il sito web. Non puoi uscire da questa directory dal lato client. In genere è una buona idea posizionare il file caddy ovunque tranne che all'interno di questa webroot. Puoi metterlo nella cartella /etc/ o nella tua directory home. Ad esempio, se il file viene creato in /etc/Caddyfile, puoi dire al server di utilizzare questa configurazione, eseguendo il comando:

$ caddy -conf /etc/Caddyfile

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

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

sottodominio2.esempio.com
root /var/www/mysite2
gzip
log... /accesso.log

La direttiva gzip abilita la compressione, se il client la supporta. Ciò migliora le prestazioni poiché è possibile inviare più dati sulla larghezza di banda e sullo stesso intervallo di tempo. La registrazione aiuta a eseguire il debug e a tenere traccia dell'attività di rete.

Conclusione

La più grande forza del server web Caddy è il suo file di configurazione facile da scrivere e leggere e la sua flessibilità su più piattaforme. Tuttavia, a causa della sua strana licenza, il server non è strettamente open source. Il codice sorgente è open source e puoi compilarlo completamente 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 occuparci solo dei file di configurazione, dobbiamo anche occuparci della compilazione del codice sorgente vanificando lo scopo di un server web facile da usare. Facci sapere se hai qualche idea su Caddy e se qualcuno dei tuoi siti web funziona su di esso.

Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...
I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...