Ir para o conteúdo
Totalmente local

Configuração Nginx para Caddyfile

Converta uma configuração de servidor Nginx para um Caddyfile equivalente.

Entrada
Saída

Configuração Nginx para Caddyfile

Cole uma configuração Nginx e esta ferramenta reescreve-a como um Caddyfile, mantendo a estrutura reconhecível: cada bloco de servidor torna-se um endereço de site Caddy, e cada localização torna-se um bloco de manipulação correspondente ao mesmo caminho. É construída para o caso de migração comum — mover um site Nginx funcional para Caddy sem precisar de reaprender a sintaxe do zero.

As opções controlam quais partes são convertidas. Proxy reverso transforma proxy_pass em reverse_proxy e transporta as entradas de proxy_set_header como header_up, substituindo variáveis Nginx como $host e $remote_addr por espaços reservados Caddy. Ficheiros estáticos mapeia root, index e try_files para root, file_server e try_files. Redirecionamentos e reescritas transforma return e rewrite em redir e rewrite, e as configurações de TLS transportam um par de certificado para uma diretiva tls — vale a pena notar, pois Caddy emite e renova certificados automaticamente e essa linha é frequentemente removível. Compressão e cache mapeia gzip para encode e sinaliza proxy_cache, que não tem equivalente integrado em Caddy. Limite de tamanho do corpo converte client_max_body_size num bloco request_body com um max_size correspondente.

Nginx tem diretivas que Caddy simplesmente não possui, desde fixação de protocolos SSL até auth_basic_user_file. Em vez de adivinhar, a ferramenta deixa essas diretivas intactas e adiciona uma anotação comentada sobre o que não tem equivalente e o que verificar manualmente — desative isso para saída simples. Blocos aninhados são analisados corretamente, portanto uma localização aninhada dentro de outra localização, ou um servidor envolvido num bloco http, passa da mesma forma. Ambos os estilos de fim de linha são suportados, e a contagem ao vivo reporta linhas de entrada, diretivas convertidas e avisos levantados.

Tudo é executado localmente no seu navegador — a sua configuração nunca é carregada em qualquer lugar, o que importa quando contém nomes de anfitriões internos ou caminhos de certificado. Copie o resultado, descarregue-o como um Caddyfile, ou envie-o novamente para a entrada para refinar a conversão ainda mais.

FAQ

Maneja um nginx.conf completo com múltiplos blocos de servidor?
Sim. Cada bloco de servidor — quer esteja no nível superior ou aninhado dentro de um bloco http — torna-se o seu próprio bloco de site Caddy, separado por uma linha em branco.
O que acontece com diretivas que Caddy não tem equivalente?
São deixadas fora da saída convertida e sinalizadas com um comentário "# CADDY:" explicando o que revisar manualmente. Desative "Avisar sobre diretivas sem equivalente" para obter uma saída simples sem os comentários.
Remove as minhas diretivas de certificado SSL?
Converte ssl_certificate e ssl_certificate_key numa diretiva tls explícita, com uma anotação de que Caddy pode normalmente gerir certificados automaticamente em vez disso — você pode apagar essa linha e deixar Caddy lidar com HTTPS por conta própria.
Como são convertidas as localizações de expressão regular?
Uma localização correspondida com ~ ou ~* torna-se um matcher path_regexp nomeado (como @match1) usado por um bloco handle, pois Caddy não faz correspondência de caminho regex em linha da forma que Nginx faz.
A minha configuração é carregada em qualquer lugar?
Não. A conversão é executada inteiramente no seu navegador — a sua configuração Nginx nunca sai do seu dispositivo.