Hoppa till innehåll
100% lokalt

Nginx-konfiguration till Caddyfile

Konvertera en Nginx-serverkonfiguration till en motsvarande Caddyfile.

Inmatning
Utmatning

Nginx-konfiguration till Caddyfile

Klistra in en Nginx-konfiguration så skriver detta verktyg om den som en Caddyfile, med strukturen lätt att känna igen igen: varje serverblock blir en Caddy-webbplatsadress och varje location blir ett handle-block som matchar på samma väg. Det är byggt för det vanliga migreringsärendet — flytta en fungerande Nginx-webbplats till Caddy utan att lära sig syntaxen från början.

Alternativen styr vilka delar som konverteras. Omvänd proxy gör om proxy_pass till reverse_proxy och överför proxy_set_header-poster som header_up, och ersätter Nginx-variabler som $host och $remote_addr med Caddy-platshållare. Statiska filer mappar root, index och try_files till root, file_server och try_files. Omdirigeringar & omskrivningar gör om return och rewrite till redir och rewrite, och TLS-inställningar överför ett certifikatpar till ett tls-direktiv — värt att notera, eftersom Caddy automatiskt utfärdar och förnyar certifikat och den raden ofta är borttagbar. Komprimering & cachning mappar gzip till encode och flaggar proxy_cache, som inte har någon inbyggd Caddy-motsvarighet. Storleksgräns för request-body konverterar client_max_body_size till ett request_body-block med en motsvarande max_size.

Nginx har direktiv som Caddy helt enkelt inte har, från SSL-protokollpinning till auth_basic_user_file. I stället för att gissa lämnar verktyget dessa orörda och lägger till en kommenterad anteckning om vad som inte har motsvarighet och vad du bör kontrollera för hand — stäng av detta för ren utmatning. Kapslade block tolkas korrekt, så en location som är kapslad i en annan location, eller en server som är omsluten av ett http-block, kommer igenom på samma sätt. Båda radslutsstilar hanteras, och den liveräkning rapporterar inradade rader, konverterade direktiv och upphöjda varningar.

Allt körs lokalt i din webbläsare — din konfiguration laddas aldrig upp någonstans, vilket spelar roll om den innehåller interna värdnamn eller certifikatsökvägar. Kopiera resultatet, ladda ned det som en Caddyfile eller skicka det tillbaka till inmatningen för att förfina konverteringen ytterligare.

FAQ

Kan den hantera en full nginx.conf med flera serverblock?
Ja. Varje serverblock — oavsett om det är på den högsta nivån eller kapslat i ett http-block — blir sitt eget Caddy-webbplatsblock, separerat med en tom rad.
Vad händer med direktiv som Caddy inte har någon motsvarighet för?
De utelämnas från den konverterade utgången och flaggas med en "# CADDY:"-kommentar som förklarar vad du ska granska för hand. Stäng av "Varna om direktiv utan motsvarighet" för att få ren utmatning utan kommentarer.
Tar den bort mina SSL-certifikatdirektiv?
Det konverterar ssl_certificate och ssl_certificate_key till ett explicit tls-direktiv, med en anteckning om att Caddy vanligtvis kan hantera certifikat automatiskt — du kan ta bort den raden och låta Caddy hantera HTTPS automatiskt.
Hur konverteras location-block med reguljära uttryck?
En location som matchas med ~ eller ~* blir en namngiven path_regexp-matcher (som @match1) som används av ett handle-block, eftersom Caddy inte gör regex-vägmatchning inline som Nginx gör.
Laddas min konfiguration upp någonstans?
Nej. Konverteringen körs helt i din webbläsare — din Nginx-konfiguration lämnar aldrig din enhet.