Přeskočit na obsah

Nginx config na Caddyfile

Konvertujte konfiguraci serveru Nginx na ekvivalentní Caddyfile.

Vstup
Výstup

Nginx config na Caddyfile

Vložte konfiguraci Nginx a tento nástroj ji přepíše jako Caddyfile, přičemž zachová rozpoznatelnou strukturu: každý blok serveru se stane adresou lokality Caddy a každá lokace se změní na blok handle spárovaný se stejnou cestou. Je postaven na běžný případ migrace — přesun fungující lokality Nginx do Caddy bez potřeby znovu se učit syntax.

Volby řídí, které části se konvertují. Reverzní proxy změní proxy_pass na reverse_proxy a přenáší proxy_set_header položky jako header_up, nahrazující proměnné Nginx jako $host a $remote_addr zástupnými znaky Caddy. Statické soubory mapují root, index a try_files na root, file_server a try_files. Přesměrování a přepisy změní return a rewrite na redir a rewrite, a nastavení TLS přenášejí pár certifikátů do direktivy tls — stojí za pozornost, protože Caddy vydává a obnovuje certifikáty automaticky a ten řádek je často odstranitelný. Komprese a cache mapují gzip na encode a označují proxy_cache, který nemá vestavěný ekvivalent Caddy. Limit velikosti těla konvertuje client_max_body_size na blok request_body s odpovídající max_size.

Nginx má direktivy, které Caddy jednoduše nemá, od SSL protocol pinning po auth_basic_user_file. Místo hádání nástroj ponechává tyto dotyčné a přidává komentovanou poznámku o tom, co nemá ekvivalent a co zkontrolovat ručně — vypněte to pro čistý výstup. Vnořené bloky se analyzují správně, takže lokace vnořená v jiné lokaci, nebo server obalený blokem http, procházejí stejným způsobem. Zpracovávají se oba styly ukončení řádku a živý souhrn hlásí řádky vstupu, konvertované direktivy a vyvolané upozornění.

Všechno běží místně ve vašem prohlížeči — vaše konfigurace není nikdy nahrána nikam, což je důležité, když obsahuje interní názvy hostitelů nebo cesty certifikátů. Zkopírujte výsledek, stáhněte si jej jako Caddyfile, nebo jej znovu zadejte na vstup, abyste dále zlepšili konverzi.

Časté dotazy

Zvládne úplný nginx.conf s více bloky serveru?
Ano. Každý blok serveru — ať již na nejvyšší úrovni nebo vnořený v bloku http — se stane vlastním blokem lokality Caddy, oddělený prázdným řádkem.
Co se stane s direktiva bez ekvivalentu v Caddy?
Jsou vynechány z konvertovaného výstupu a označeny komentářem "# CADDY:" vysvětlujícím, co je třeba zkontrolovat ručně. Vypněte "Upozorňovat na direktivy bez ekvivalentu", abyste dostali čistý výstup bez komentářů.
Odstraní moje direktivy certifikátu SSL?
Konvertuje ssl_certificate a ssl_certificate_key na explicitní direktivu tls s poznámkou, že Caddy zvyčajně spravuje certifikáty automaticky — můžete ten řádek smazat a nechat Caddy, aby spravoval HTTPS sám.
Jak jsou konvertovány lokace se regulárním výrazem?
Lokace spárovaná s ~ nebo ~* se stane pojmenovanou cestou_regexp matcherem (jako @match1) používanou blokem handle, protože Caddy nedělá path matching s regex inline tak, jak to dělá Nginx.
Je moje konfigurace nahrána někde?
Ne. Konverze běží úplně ve vašem prohlížeči — vaše konfigurace Nginx nikdy neopustí vaše zařízení.