Un server Web è un'applicazione (lato server) progettata per elaborare le richieste HTTP tra client e server. HTTP è il protocollo di rete di base e ampiamente utilizzato in tutto il web. Avremmo tutti sentito paralre di Apache HTTP Server.
Apache HTTP Server ha svolto un ruolo importante nella progettazione di ciò che il web è oggi. Solo ha una quota di mercato di 45,9 . Nginx è al secondo posto nell'elenco con una quota di mercato 39% . Microsoft IIS e LiteSpeed arrivano al numero 3 e 4 con una quota di mercato rispettivamente 9,5% e 3,4% .
Recentemente, mi sono imbattuto in un server web denominato Caddy. Quando ho provato a chiedere le sue funzionalità e l'ho distribuito ai test, devo dire che è sorprendente. Un server Web che è portatile (dunque ideale per i miei progetti Docker) e non necessita di troppe configurazione.
Qui ho deciso di provare Caddy !
Caddy è un'alternativa ai vari server web con facile configurazione e utilizzo, Matt Holt - Il capo del progetto di Caddy afferma che Caddy è un server Web di uso generale, afferma di essere progettato per essere umano ed è probabilmente l'unico nel suo genere! E' un binario da soli 11mb!
Caddy è l'unico primo server web in grado di acquisire e rinnovare automaticamente i certificati SSL/TLS utilizzando Let's Encrypt!
- Speedy HTTP requests using HTTP/2.
- Capable Web Server with least configuration and hassle free deployment.
- TLS encryption ensure, encryption between communicating applications and user over Internet. You may use your own keys and certificates.
- Easy to deploy/use. Just one single file and no dependency on any platform.
- No installation required.
- Portable Executables.
- Run on multiple CPUs/Cores.
- Advanced WebSockets technology – interactive communication session between browser and server.
- Server Markdown documents on the fly.
- Full support for latest IPv6.
- Creates log in custom format.
- Serve FastCGI, Reverse Proxy, Rewrite and Redirects, Clean URL, Gzip compression, Directory Browsing, Virtual Hosts and Headers.
- Available for All known Platform – Windows, Linux, BSD, Mac, Android.
- Caddy aims at serving web as it should be in the year 2017 and not traditional style.
- It is designed not only to serve HTTP request but also human.
- Loaded with Latest features – HTTP/2, IPv6, Markdown, WebSockets, FastCGI, templates and other out-of-box features.
- Run the executables without the need of Installing it.
- Detailed documentation with least technical description.
- Developed keeping in mind the need and ease of Designers, Developers and Bloggers.
- Support Virtual Host – Define as many sites as you want.
- Suited for you – no matter if your site is static or dynamic. If you are human it is for you.
- You focus on what to achieve and not how to achieve.
- Availability of support for most number of platforms – Windows, Linux, Mac, Android, BSD.
- Usually, you have one Caddy file per site.
- Set up in less than 1 minute, even if you are not that much computer friendly
L'ho testato su uno dei miei server Debian ed utilizzato in qualche docker container, e conclusione:
Se sei principiante e vuoi configurare un server web senza sporcarti le mani con la configurazione, questo strumento fa per te. Anche se sei un utente esperto che ha bisogno di un server web istantaneo e semplice, Caddy vale la pena provare. Con una piccola configurazione è inoltre possibile impostare il permesso di cartella, l'autenticazione di controllo, le pagine di errore, Gzip, reindirizzamento HTTP e altri, se è necessario configurare un server web più complesso e avanzato.
Non prendere Caddy in sostituzione di Apache o Nginx. Caddy non è progettato per gestire un ambiente di produzione ad alto traffico. È progettato per una rapida configurazione del server Web quando si tratta di velocità e affidabilità.