Zum Inhalt springen
100% lokal

Nginx-Konfiguration zu Caddyfile

Konvertiert eine Nginx-Serverkonfiguration zu einem gleichwertigen Caddyfile.

Eingabe
Ausgabe

Nginx-Konfiguration zu Caddyfile

Fügen Sie eine Nginx-Konfiguration ein und dieses Tool schreibt sie als Caddyfile um, wobei die Struktur erkennbar bleibt: Jeder Server-Block wird zu einer Caddy-Siteadresse und jeder Location-Block wird zu einem Handle-Block, der auf demselben Pfad abgeglichen wird. Es ist für den häufigen Migrationsfall entwickelt — eine funktionierende Nginx-Site zu Caddy zu verschieben, ohne die Syntax von vorne zu lernen.

Die Optionen steuern, welche Teile konvertiert werden. Reverse-Proxy konvertiert proxy_pass zu reverse_proxy und übernimmt proxy_set_header-Einträge als header_up, wobei Nginx-Variablen wie $host und $remote_addr durch Caddy-Platzhalter ersetzt werden. Statische Dateien ordnet root, index und try_files zu root, file_server und try_files zu. Weiterleitungen & Umschreibungen konvertiert return und rewrite zu redir und rewrite, und TLS-Einstellungen überführt ein Zertifikatpaar in eine tls-Direktive — erwähnenswert, da Caddy Zertifikate automatisch ausstellt und erneuert und diese Zeile oft entfernt werden kann. Kompression & Caching ordnet gzip zu encode zu und kennzeichnet proxy_cache, das kein natives Caddy-Äquivalent hat. Größenlimit für Request-Body konvertiert client_max_body_size in einen request_body-Block mit einer passenden max_size.

Nginx hat Direktiven, die Caddy einfach nicht hat, von SSL-Protokoll-Pinning bis auth_basic_user_file. Anstatt zu raten, lässt das Tool diese unverändert und fügt einen kommentierten Hinweis hinzu, was kein Äquivalent hat und was Sie von Hand überprüfen sollten — schalten Sie das aus, um einfache Ausgabe zu erhalten. Verschachtelte Blöcke werden korrekt analysiert, sodass ein Location, das in einem anderen Location verschachtelt ist, oder ein Server-Block, der in einem http-Block eingebunden ist, auf die gleiche Weise angezeigt wird. Beide Zeilenendstil-Varianten werden verarbeitet, und die Live-Statistik meldet Zeilen ein, konvertierte Direktiven und aufgeraisierte Warnungen.

Alles wird lokal in Ihrem Browser ausgeführt — Ihre Konfiguration wird nie irgendwo hochgeladen, was wichtig ist, wenn sie interne Hostnamen oder Zertifikatspfade enthält. Kopieren Sie das Ergebnis, laden Sie es als Caddyfile herunter oder senden Sie es zurück zur Eingabe, um die Konvertierung weiter zu verfeinern.

Häufige Fragen

Verarbeitet es ein vollständiges nginx.conf mit mehreren Server-Blöcken?
Ja. Jeder Server-Block — ob auf der obersten Ebene oder verschachtelt in einem http-Block — wird zu seinem eigenen Caddy-Site-Block, getrennt durch eine Leerzeile.
Was passiert mit Direktiven, für die Caddy kein Äquivalent hat?
Sie werden aus der konvertierten Ausgabe entfernt und mit einem "# CADDY:"-Kommentar gekennzeichnet, der erklärt, was Sie von Hand überprüfen müssen. Schalten Sie "Vor Direktiven ohne Äquivalent warnen" aus, um einfache Ausgabe ohne Kommentare zu erhalten.
Entfernt es meine SSL-Zertifikat-Direktiven?
Es konvertiert ssl_certificate und ssl_certificate_key in eine explizite tls-Direktive, mit einem Hinweis, dass Caddy Zertifikate normalerweise automatisch verwalten kann — Sie können diese Zeile löschen und Caddy HTTPS automatisch handhaben lassen.
Wie werden reguläre Ausdrücke Location-Blöcke konvertiert?
Ein Location, das mit ~ oder ~* abgeglichen wird, wird zu einem benannten path_regexp-Matcher (wie @match1), der von einem Handle-Block verwendet wird, da Caddy Regex-Pfad-Abgleich nicht inline durchführt wie Nginx.
Wird meine Konfiguration irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser — Ihre Nginx-Konfiguration verlässt niemals Ihr Gerät.