Preskočiť na obsah

Nginx config na Caddyfile

Konvertujte Nginx konfiguráciu servera na ekvivalentný Caddyfile.

Vstup
Výstup

Nginx config na Caddyfile

Vložte konfiguráciu Nginx a tento nástroj ju prepíše ako Caddyfile, pričom zachová rozpoznateľnú štruktúru: každý blok servera sa stane adresou lokality Caddy a každá lokácia sa zmení na blok handle spárovaný s rovnakou cestou. Je postavený na bežný prípad migrácie — presun pracujúcej lokality Nginx do Caddy bez potreby znovu sa učiť syntaxu.

Opcií kontrolujú, ktoré časti sa konvertujú. Reverzný proxy zmení proxy_pass na reverse_proxy a prenáša proxy_set_header položky ako header_up, nahradzujúc premenné Nginx ako $host a $remote_addr za zástupné znaky Caddy. Statické súbory mapujú root, index a try_files na root, file_server a try_files. Presmerovanie a prepisy zmenia return a rewrite na redir a rewrite, a nastavenia TLS prenášajú pár certifikátov do direktívy tls — stojí za pozornosť, pretože Caddy vydáva a obnovuje certifikáty automaticky a ten riadok je často odstrániteľný. Kompresia a cache mapujú gzip na encode a označujú proxy_cache, ktorý nemá vstavané ekvivalentné Caddy. Limit veľkosti telesa konvertuje client_max_body_size na blok request_body s matchujúcou max_size.

Nginx má direktívy, ktoré Caddy jednoducho nemá, od SSL protocol pinning po auth_basic_user_file. Namiesto hádania nástroj ponecháva tieto dotyčné a pridáva komentovanú poznámku o tom, čo nemá ekvivalent a čo skontrolovať ručne — vypnite to pre čistý výstup. Vnorené bloky sa parsujú správne, takže lokácia vnorená v inej lokácií, alebo server obalený blokom http, prechádza rovnakým spôsobom. Spracovávajú sa oba štýly ukončenia riadka a živá sumár hlási riadky vstupného bloku, konvertované direktívy a vyvolané upozornenia.

Všetko sa spúšťa miestne vo vašom prehliadači — vaša konfigurácia nie je nikdy nahraná nikam, čo je dôležité, keď obsahuje interné názvy hostiteľov alebo cesty certifikátov. Skopírujte výsledok, stiahnite si ho ako Caddyfile alebo ho znovu zadajte na vstup, aby ste ďalej zlepšili konverziu.

Časté otázky

Zvládne úplný nginx.conf s viacerými blokmi servera?
Áno. Každý blok servera — či už na najvyššej úrovni alebo vnorený v bloku http — sa stane vlastným blokom lokality Caddy, oddelený prázdnym riadkom.
Čo sa stane s direktívami, ktoré Caddy nemá ekvivalent?
Sú vynechané z konvertovaného výstupu a označené komentárom "# CADDY:" vysvetľujúcim, čo je potrebné skontrolovať ručne. Vypnite "Upozorňovať na direktívy bez ekvivalentu", aby ste dostali čistý výstup bez komentárov.
Či odstraňuje moje direktívy certifikátu SSL?
Konvertuje ssl_certificate a ssl_certificate_key na explicitnú direktívu tls s poznámkou, že Caddy môže zvyčajne spravovať certifikáty automaticky — môžete ten riadok vymazať a nechať Caddy spravovať HTTPS sám.
Ako sú konvertované lokácie regulárnym výrazom?
Lokácia spárovaná s ~ alebo ~* sa stane pomenovaným matcherom path_regexp (ako @match1) používaným blokom handle, pretože Caddy neurobí path matching so regex inline tak ako Nginx.
Či je moja konfigurácia nahraná niekde?
Nie. Konverzia sa spúšťa úplne vo vašom prehliadači — vaša konfigurácia Nginx nikdy neopustí vašu zariadenie.