Caddyfile-Generator
Moderne Cloud-Infrastruktur & Reverse-Proxy

Caddyfile Reverse Proxy & HTTPS Konfigurationsgenerator

Entwickler-Referenz und Konfigurationsleitfaden zur Erstellung produktionsbereiter Caddy-Webserver-Konfigurationen.

100% clientseitige Privatsphäre
Null Serverübertragung
Voreinstellungen:
Profile:
Domain & Virtueller HostAuto-HTTPS Ready
TLS / SSL & ZertifikateZero-Config ACME
Upstream-Backends & Lastverteilung1 Knoten
127.0.0.1:3000
Härtung & Leistungsschalter
# ========================================================
# Caddy 2 Production Server Configuration
# Site Address: app.example.com, www.app.example.com
# Workload Profile: Current Configuration
# Generated 100% Client-Side Private on ToolsAA
# ========================================================

{
    email [email protected]
    admin off
}

app.example.com, www.app.example.com {
    reverse_proxy 127.0.0.1:3000 {

        # Standard proxy header passthrough
        header_up Host {upstream_hostport}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-For {remote_host}
        header_up X-Forwarded-Proto {scheme}

        transport http {
            dial_timeout 5s
            response_header_timeout 60s
        }
    }

    # Ultra-fast high-compression (Zstandard & Gzip)
    encode zstd gzip

    # Security Hardening & Header Manipulation
    header {
        # HTTP Strict Transport Security (HSTS 2-Year Preload)
        Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
        # Prevent MIME-type sniffing attacks
        X-Content-Type-Options "nosniff"
        # Mitigate clickjacking framing attacks
        X-Frame-Options "DENY"
        # Cross-domain referrer policy
        Referrer-Policy "strict-origin-when-cross-origin"
        # Restrict hardware API access
        Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()"
        # Suppress fingerprinting headers
        -Server
        -X-Powered-By
    }

    # Structured Access Logging
    log {
        output file /var/log/caddy/app.example.com.access.log {
            roll_size 10mb
            roll_keep 5
            roll_keep_for 720h
        }
        format json
    }
}
Domains & Sites
1 Hostname
app.example.com, www.app.example.com
Proxy Upstreams
1 Backend Knoten Konfiguriert
Policy: round_robin
Sicherheit & TLS Status
Automatic HTTPS Enabled
HTTP/3 (QUIC) & Zstandard Ready

100% Client-seitige private Generierung

Keine Server-Uploads oder Telemetrie. Alle Hostnamen, Upstream-IPs und Konfigurationen verbleiben vollständig im lokalen Browser.

Caddy 2 Direktiven & Automatisches HTTPS

Automatische TLS-Zertifikate via Let's Encrypt / ZeroSSL, HTTP/3 QUIC, WebSockets und Zstandard-Kompression ohne manuelle Konfiguration.

Bereit für Multiprotokoll-Deployments

Exportieren Sie Caddyfile-Syntax, Docker-Compose-Dateien, Systemd-Units und CLI-Validierungsbefehle sofort einsatzbereit.

Technische Referenz & Architektur-Leitfaden

Caddyfile Generator Entwickler-Referenz — Referenz-Leitfaden

Entwickler-Referenz und Konfigurationsleitfaden zur Erstellung produktionsbereiter Caddy-Webserver-Konfigurationen.

Wichtige Parameter & Steuerelemente

domainstring

Vollständig qualifizierter Domainname (FQDN) oder IP-Adresse als Site-Adressblock im Caddyfile.

Standard: example.com
tlsMode"auto" | "internal" | "custom" | "off"

TLS-Zertifikatsmodus: Automatische ACME-Zertifikate (auto), interne CA (internal), manuelle PEM-Zertifikate (custom) oder Klartext-HTTP (off).

Standard: auto
upstreamsstring[]

Liste von Backend-Zieladressen oder Unix-Sockets, die über reverse_proxy weitergeleitet werden.

Standard: ["localhost:3000"]
lbPolicy"round_robin" | "least_conn" | "ip_hash" | "first" | "random"

Lastverteilungsstrategie bei mehreren Upstream-Instanzen für die reverse_proxy-Direktive.

Standard: round_robin
enableHealthCheckboolean

Aktiviert aktives Polling via HTTP-URI, um fehlerhafte Backend-Instanzen aus dem Routing zu entfernen.

Standard: false
enableSecurityHeadersboolean

Setzt bewährte Sicherheitsheader wie HSTS, X-Content-Type-Options: nosniff und Frame-Einschränkungen.

Standard: true

Profi-Tipps & Best Practices

Zero-Downtime Hot Reloading

Starten Sie den Caddy-Dienst niemals komplett neu. Führen Sie `caddy reload --config /etc/caddy/Caddyfile` aus, um Konfigurationsänderungen ohne Unterbrechung bestehender Client-Verbindungen zu übernehmen.

Explizite Upstream-Timeouts

Definieren Sie in Produktivsystemen innerhalb von `transport http` Werte wie `dial_timeout 5s` und `response_header_timeout 30s`, um Ressourcenblockaden durch hängende Backends zu vermeiden.

ACME-Ratenbegrenzung Testen

Nutzen Sie bei Tests und in Staging-Umgebungen `tls internal` oder die Let's Encrypt Staging-CA (`acme_ca https://acme-staging-v02.api.letsencrypt.org/directory`), um Produktionslimits zu umgehen.

Häufige Fallstricke & Fehlerbehebung

caddy validate meldet unbekannte Direktive oder Syntaxfehler

Führen Sie `caddy validate --config /etc/caddy/Caddyfile` aus, um die fehlerhafte Zeile zu lokalisieren. Achten Sie darauf, dass die öffnende geschweifte Klammer `{` in derselben Zeile wie die Domain steht und Snippets vor der Verwendung importiert werden.

ACME HTTP-01 Challenge schlägt auf Port 80 mit Connection Refused fehl

Stellen Sie sicher, dass Port 80 öffentlich erreichbar und nicht durch Firewalls blockiert ist. Caddy benötigt eingehenden Datenverkehr auf Port 80 für ACME-Validierungen von Let's Encrypt, selbst wenn auf HTTPS umgeleitet wird.

reverse_proxy liefert HTTP 502 Bad Gateway an Clients aus

Prüfen Sie, ob der Backend-Dienst auf IPv4 (`127.0.0.1`) anstelle von IPv6 (`::1`) lauscht. Verwenden Sie in Docker-Netzwerken den Compose-Servicenamen anstelle von `localhost` für die korrekte DNS-Auflösung.

Häufig gestellte Fragen (FAQ)

Wie unterscheidet sich das Caddyfile von der nativen JSON-Konfiguration?▼

Das Caddyfile ist eine deklarative, lesbare Konfigurationssprache, die von Caddys Adapter vor der Ausführung in natives JSON transformiert wird. Mit `caddy adapt --config Caddyfile --pretty` lässt sich das generierte JSON einsehen.

Werden Domains, Passwörter oder Zertifikatspfade an externe Server übertragen?▼

Nein. Die gesamte Validierung und Caddyfile-Generierung wird ausschließlich lokal im Browser ausgeführt. Keine Hostnamen, Anmeldedaten oder internen Dateipfade verlassen Ihre Client-Umgebung.

Welches Hash-Verfahren erfordert die basic_auth Direktive?▼

Caddys basic_auth akzeptiert keine Klartext-Passwörter, sondern verlangt bcrypt-Hashes. Erzeugen Sie den benötigten Hash vorab über das offizielle CLI-Kommando `caddy hash-password --plaintext "ihrpasswort"`.

Können Konfigurationen für Docker Compose und systemd exportiert werden?▼

Ja. Der Generator bietet separate Export-Tabs mit fertigen Docker Compose Services (inklusive `/data` und `/config` Volumes) und systemd-Unit-Vorlagen für unterbrechungsfreie Reloads.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →