Caddy: Webserver mit Auto-HTTPS | Enjyn Gruppe
Hallo Welt
Hallo Welt
Original Lingva Deutsch
Übersetzung wird vorbereitet...
Dieser Vorgang kann bis zu 60 Sekunden dauern.
Diese Seite wird erstmalig übersetzt und dann für alle Besucher gespeichert.
0%
DE Zurück zu Deutsch
Übersetzung durch Lingva Translate

241 Dokumentationen verfügbar

Wissensdatenbank

Caddy Webserver Automatisches SSL

Zuletzt aktualisiert: 11.01.2026 um 12:06 Uhr

Caddy: Webserver mit Auto-HTTPS

Caddy ist ein moderner Webserver mit automatischer HTTPS-Konfiguration. Let's Encrypt Zertifikate werden automatisch angefordert und erneuert - ohne manuelle Einrichtung.

Installation

# Ubuntu/Debian
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

# Status
sudo systemctl status caddy

Einfache Konfiguration

sudo nano /etc/caddy/Caddyfile
# Statische Website
example.com {
    root * /var/www/example.com
    file_server
}
sudo systemctl reload caddy

Das war's! Caddy holt automatisch ein SSL-Zertifikat und konfiguriert HTTPS.

PHP-Website

example.com {
    root * /var/www/example.com
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server
}

Reverse Proxy

# Node.js App
app.example.com {
    reverse_proxy localhost:3000
}

# Mit Load Balancing
api.example.com {
    reverse_proxy localhost:3001 localhost:3002 localhost:3003
}

# WebSocket
ws.example.com {
    reverse_proxy localhost:8080
}

Mehrere Domains

example.com {
    root * /var/www/example.com
    file_server
}

blog.example.com {
    root * /var/www/blog
    php_fastcgi unix//run/php/php8.3-fpm.sock
    file_server
}

app.example.com {
    reverse_proxy localhost:3000
}

Erweiterte Optionen

example.com {
    root * /var/www/example.com
    
    # Komprimierung
    encode gzip zstd
    
    # Logging
    log {
        output file /var/log/caddy/access.log
    }
    
    # Headers
    header {
        X-Frame-Options "SAMEORIGIN"
        X-Content-Type-Options "nosniff"
        -Server
    }
    
    # Redirects
    redir /old-page /new-page permanent
    
    # Rewrites
    rewrite /api/* /index.php?{path}
    
    file_server
}

HTTP Basic Auth

# Passwort-Hash generieren
caddy hash-password

example.com {
    basicauth /admin/* {
        admin $2a$14$...  # Hash von oben
    }
    file_server
}

Wildcards

# Wildcard-Zertifikat (DNS-Challenge nötig)
*.example.com {
    tls {
        dns cloudflare {env.CF_API_TOKEN}
    }
    reverse_proxy localhost:3000
}

Lokale Entwicklung

# HTTP ohne HTTPS
:8080 {
    root * /var/www/html
    file_server
}

# Oder
localhost {
    root * /var/www/html
    file_server
}

Nützliche Befehle

# Konfiguration prüfen
caddy validate --config /etc/caddy/Caddyfile

# Neu laden
sudo systemctl reload caddy

# Formatieren
caddy fmt --overwrite /etc/caddy/Caddyfile

# Manuell starten
caddy run --config /etc/caddy/Caddyfile

Caddy vs. Nginx

Aspekt Caddy Nginx
HTTPS Automatisch Manuell (Certbot)
Syntax Sehr einfach Komplexer
Performance Sehr gut Exzellent
Verbreitung Wachsend Standard

Weitere Hilfe

Enjix Beta

Enjyn AI Agent

Hallo 👋 Ich bin Enjix — wie kann ich dir helfen?
120