
Veloce ed estensibile server web HTTP/1-2-3 multipiattaforma con HTTPS automatico
Caddy è una piattaforma server estensibile che utilizza TLS per impostazione predefinita.
Il modo più semplice e multipiattaforma per iniziare è scaricare Caddy da GitHub Releases e posizionare il file eseguibile nel tuo PATH.
Vedi la nostra documentazione online per altre istruzioni di installazione.
Requisiti:
Nota: Questi passaggi non incorporeranno le corrette informazioni sulla versione. Per farlo, segui le istruzioni nella prossima sezione.
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
Quando esegui Caddy, potrebbe tentare di associarsi a porte basse a meno che non sia diversamente specificato nella tua configurazione. Se il tuo sistema operativo richiede privilegi elevati per farlo, dovrai dare al tuo nuovo binario il permesso di farlo. Su Linux, questo può essere fatto facilmente con: sudo setcap cap_net_bind_service=+ep ./caddy
Se preferisci usare go run che crea solo binari temporanei, puoi comunque farlo con il setcap.sh incluso in questo modo:
$ go run -exec ./setcap.sh main.go
Se non vuoi digitare la password per setcap, usa sudo visudo per modificare il tuo file sudoers e consentire al tuo account utente di eseguire quel comando senza password, ad esempio:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
sostituendo username con il tuo nome utente effettivo. Fai attenzione e fallo solo se sai cosa stai facendo! Siamo qualificati solo per documentare come usare Caddy, non gli strumenti Go o il tuo computer, e forniamo queste istruzioni solo per comodità; impara a usare il tuo computer a tuo rischio e apporta le modifiche necessarie.
Poi puoi eseguire i test in tutti i moduli o in uno specifico:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
$ xcaddy build
...i seguenti passaggi sono automatizzati:
mkdir caddycd caddygo mod init caddygo get github.com/caddyserver/caddy/v2@version sostituendo version con un tag git, commit o nome di ramo._ "import/path/here"go build -tags=nobadger,nomysql,nopgxIl sito web di Caddy ha documentazione che include tutorial, guide rapide, riferimenti e altro.
Raccomandiamo a tutti gli utenti -- indipendentemente dal livello di esperienza -- di seguire la nostra guida Getting Started per familiarizzare con l'uso di Caddy.
Se hai solo un minuto, il sito web ha diversi tutorial rapidi tra cui scegliere! Tuttavia, dopo aver completato un tutorial rapido, leggi altra documentazione per capire come funziona il software. 🙂
Caddy è più spesso usato come server HTTPS, ma è adatto a qualsiasi programma Go a lunga esecuzione. Prima di tutto, è una piattaforma per eseguire applicazioni Go. Le "app" di Caddy sono semplicemente programmi Go implementati come moduli di Caddy. Due app -- tls e http -- sono incluse di serie con Caddy.
Le app di Caddy beneficiano immediatamente di documentazione automatizzata, modifiche di configurazione online graceful tramite API e unificazione con altre app di Caddy.
Sebbene JSON sia il linguaggio di configurazione nativo di Caddy, Caddy può accettare input da adattatori di configurazione che possono essenzialmente convertire qualsiasi formato di configurazione di tua scelta in JSON: Caddyfile, JSON 5, YAML, TOML, configurazione NGINX e altro.
Il modo principale per configurare Caddy è tramite la sua API, ma se preferisci i file di configurazione, anche l'interfaccia a riga di comando li supporta.
Caddy espone un livello di controllo senza precedenti rispetto a qualsiasi server web esistente. In Caddy, di solito si impostano i valori effettivi dei tipi inizializzati in memoria che alimentano tutto, dai tuoi gestori HTTP e handshake TLS al tuo supporto di archiviazione. Caddy è anche ridicolmente estensibile, con un potente sistema di plugin che offre enormi miglioramenti rispetto ad altri server web.
Per sfruttare il potere di questo design, devi sapere come è strutturato il documento di configurazione. Consulta il nostro sito di documentazione per i dettagli sulla struttura di configurazione di Caddy.
Quasi tutta la configurazione di Caddy è contenuta in un singolo documento di configurazione, invece di essere sparsa tra flag CLI, variabili d'ambiente e un file di configurazione come con altri server web. Questo rende la gestione della configurazione del server più semplice e riduce variabili/fattori nascosti.
Il nostro sito web ha una documentazione completa:
La documentazione è anche open source. Puoi contribuire qui: https://github.com/caddyserver/website
Consigliamo alle aziende che utilizzano Caddy di ottenere un contratto di supporto tramite Ardan Labs prima che sia necessario aiuto.
Una sponsorizzazione è di grande aiuto! Possiamo offrire aiuto privato agli sponsor. Se Caddy sta portando benefici alla tua azienda, considera una sponsorizzazione. Questo non solo aiuta a finanziare il lavoro a tempo pieno per garantire la longevità del progetto, ma fornisce alla tua azienda le risorse, il supporto e gli sconti di cui hai bisogno; oltre a essere un'ottima immagine per la tua azienda verso i tuoi clienti e potenziali clienti!
Gli individui possono scambiare aiuto gratuitamente sul nostro forum della comunità all'indirizzo https://caddy.community. Ricorda che le persone offrono aiuto nel loro tempo libero e per buona volontà. Il modo migliore per ottenere aiuto è offrirlo prima!
Utilizza il nostro issue tracker solo per segnalazioni di bug e richieste di funzionalità, cioè elementi di sviluppo attuabili (le domande di supporto saranno solitamente indirizzate ai forum).
Matthew Holt ha iniziato a sviluppare Caddy nel 2014 mentre studiava informatica alla Brigham Young University. (Il nome "Caddy" è stato scelto perché questo software aiuta con i compiti noiosi e mondani del servire il Web, ed è anche un unico posto dove più cose possono essere organizzate insieme.) Presto è diventato il primo server web a usare HTTPS automaticamente e per impostazione predefinita, e ora ha centinaia di collaboratori e ha servito trilioni di richieste HTTPS.
Il nome "Caddy" è un marchio registrato. Il nome del software è "Caddy", non "Caddy Server" o "CaddyServer". Per favore chiamalo "Caddy" o, se desideri chiarire, "il server web Caddy". Caddy è un marchio registrato di Stack Holdings GmbH.
Caddy è un progetto di ZeroSSL, una società HID Global.
L'hosting del repository di pacchetti Debian è gentilmente fornito da Cloudsmith. Cloudsmith è l'unica soluzione di gestione dei pacchetti completamente ospitata, nativa del cloud e universale, che consente alla tua organizzazione di creare, archiviare e condividere pacchetti in qualsiasi formato, in qualsiasi luogo, con totale fiducia.