Aller au contenu
Tout en local

Configuration Nginx vers Caddyfile

Convertissez une configuration Nginx en un Caddyfile équivalent.

Entrée
Sortie

Configuration Nginx vers Caddyfile

Collez une configuration Nginx et cet outil la réécrit en Caddyfile, en gardant la structure reconnaissable : chaque bloc server devient une adresse de site Caddy, et chaque location devient un bloc handle correspondant au même chemin. Il est conçu pour le cas courant de migration — déplacer un site Nginx fonctionnel vers Caddy sans réapprendre la syntaxe à partir de zéro.

Les options contrôlent quelles parties sont converties. Reverse proxy transforme proxy_pass en reverse_proxy et porte les entrées proxy_set_header en tant que header_up, en remplaçant les variables Nginx comme $host et $remote_addr par des placeholders Caddy. Fichiers statiques mappe root, index et try_files à root, file_server et try_files. Redirections et réécriture transforme return et rewrite en redir et rewrite, et les paramètres TLS portent une paire de certificats dans une directive tls — à noter, puisque Caddy émet et renouvelle les certificats automatiquement et cette ligne est souvent supprimable. Compression et mise en cache mappe gzip à encode et signale proxy_cache, qui n'a pas d'équivalent intégré dans Caddy. Limite de taille de corps convertit client_max_body_size en un bloc request_body avec un max_size correspondant.

Nginx a des directives que Caddy n'a simplement pas, de l'épinglage de protocole SSL à auth_basic_user_file. Plutôt que de deviner, l'outil les laisse intactes et ajoute une note commentée sur ce qui n'a pas d'équivalent et ce qu'il faut vérifier à la main — désactivez-la pour une sortie propre. Les blocs imbriqués se analysent correctement, donc une location imbriquée dans une autre location, ou un server enveloppé dans un bloc http, passe de la même façon. Les deux styles de fin de ligne sont gérés, et le compteur en direct signale les lignes d'entrée, les directives converties et les avertissements levés.

Tout s'exécute localement dans votre navigateur — votre configuration n'est jamais téléchargée nulle part, ce qui importe quand elle contient des noms d'hôte internes ou des chemins de certificat. Copiez le résultat, téléchargez-le en tant que Caddyfile, ou renvoyez-le à l'entrée pour affiner davantage la conversion.

FAQ

Traite-t-il un nginx.conf complet avec plusieurs blocs server ?
Oui. Chaque bloc server — qu'il soit au niveau supérieur ou imbriqué dans un bloc http — devient son propre bloc de site Caddy, séparé par une ligne vierge.
Qu'arrive-t-il aux directives pour lesquelles Caddy n'a pas d'équivalent ?
Elles sont omises de la sortie convertie et signalées avec un commentaire "# CADDY:" expliquant ce qu'il faut vérifier à la main. Désactivez "Avertir sur les directives sans équivalent" pour obtenir une sortie propre sans les commentaires.
Supprime-t-il mes directives de certificat SSL ?
La convertit en une directive tls explicite, avec une note que Caddy peut généralement gérer les certificats automatiquement — vous pouvez supprimer cette ligne et laisser Caddy gérer HTTPS de son côté.
Comment les emplacements d'expression régulière sont-ils convertis ?
Un emplacement associé à ~ ou ~* devient un matcher path_regexp nommé (comme @match1) utilisé par un bloc handle, puisque Caddy ne fait pas la correspondance de chemin regex en ligne comme Nginx.
Ma configuration est-elle téléchargée quelque part ?
Non. La conversion s'exécute entièrement dans votre navigateur — votre configuration Nginx ne quitte jamais votre appareil.