Przejdź do treści

Nginx config do Caddyfile

Konwertuj konfigurację serwera Nginx na równoważny Caddyfile.

Wejście
Wynik

Nginx config do Caddyfile

Wklej konfigurację Nginx, a to narzędzie przepisze ją jako Caddyfile, zachowując rozpoznawalną strukturę: każdy blok serwera staje się adresem witryny Caddy, a każda lokalizacja zmienia się w blok handle dopasowany do tej samej ścieżki. Jest zbudowany dla typowego przypadku migracji — przeniesienie działającej witryny Nginx do Caddy bez konieczności nauki syntaksy od nowa.

Opcje kontrolują, które części się konwertują. Reverse proxy zmienia proxy_pass na reverse_proxy i przenosi wpisy proxy_set_header jako header_up, zastępując zmienne Nginx takie jak $host i $remote_addr symbolami zastępczymi Caddy. Pliki statyczne mapują root, index i try_files na root, file_server i try_files. Przekierowania i przepisywanie zmieniają return i rewrite na redir i rewrite, a ustawienia TLS przenoszą parę certyfikatów do dyrektywy tls — warto zauważyć, że Caddy wydaje i odnawia certyfikaty automatycznie, a ten wiersz jest często do usunięcia. Kompresja i cache mapują gzip na encode i oznaczają proxy_cache, który nie ma wbudowanego odpowiednika Caddy. Limit rozmiaru ciała konwertuje client_max_body_size na blok request_body z odpowiadającą max_size.

Nginx ma dyrektywy, których Caddy po prostu nie ma, od SSL protocol pinning do auth_basic_user_file. Zamiast zgadywania, narzędzie pozostawia je nietknięte i dodaje skomentowaną notatkę na temat tego, co nie ma odpowiednika i co sprawdzić ręcznie — wyłącz to, aby uzyskać czysty wynik. Bloki zagnieżdżone parsują się poprawnie, więc lokalizacja zagnieżdżona w innej lokalizacji lub serwer opakowany blokiem http przechodzi w ten sam sposób. Obsługiwane są oba style zakończenia linii, a żywy podsumowanie raportuje linie wejścia, konwertowane dyrektywy i zgłoszone ostrzeżenia.

Wszystko działa lokalnie w Twojej przeglądarce — Twoja konfiguracja nigdy nie jest przesyłana nigdzie, co jest ważne, gdy zawiera wewnętrzne nazwy hostów lub ścieżki certyfikatów. Skopiuj wynik, pobierz go jako Caddyfile lub wprowadź go ponownie na wejście, aby dalej doskonalić konwersję.

Częste pytania

Czy radzi sobie z pełnym nginx.conf z wieloma blokami serwera?
Tak. Każdy blok serwera — czy na najwyższym poziomie, czy zagnieżdżony w bloku http — staje się własnym blokiem witryny Caddy, oddzielonym pustą linią.
Co się dzieje z dyrektywami, które Caddy nie ma odpowiednika?
Są pominięte z konwertowanego wyjścia i oznaczone komentarzem "# CADDY:", wyjaśniającym, co należy sprawdzić ręcznie. Wyłącz "Ostrzegaj o dyrektywach bez odpowiednika", aby otrzymać czysty wynik bez komentarzy.
Czy usuwa moje dyrektywy certyfikatu SSL?
Konwertuje ssl_certificate i ssl_certificate_key na jawną dyrektywę tls z uwagą, że Caddy zazwyczaj zarządza certyfikatami automatycznie — możesz usunąć ten wiersz i pozwolić Caddy'emu na obsługę HTTPS.
Jak są konwertowane lokalizacje wyrażeń regularnych?
Lokalizacja dopasowana z ~ lub ~* staje się nazwanym matcherem path_regexp (jak @match1) używanym przez blok handle, ponieważ Caddy nie wykonuje dopasowania ścieżki z regex inline w taki sposób, jak Nginx.
Czy moja konfiguracja jest przesyłana gdziekolwiek?
Nie. Konwersja działa całkowicie w Twojej przeglądarce — Twoja konfiguracja Nginx nigdy nie opuszcza Twoje urządzenie.