メインコンテンツへスキップ

開発者ツール · Developer

Caddyfile 検証・可視化

Caddyfile(Caddy v2)を貼り付けると構文・構造のエラーを行単位で検出し、理由と改善案を日本語で表示。サイト構成もツリーで可視化します。

最終更新:

使い方

使い方を開く
  1. 1

    Caddyfile を貼り付け

    検証したい Caddyfile(Caddy v2 形式)をテキストエリアに貼り付けます。サンプルから試すこともできます。

  2. 2

    エラーと警告を確認して直す

    検出された問題が重要度別に一覧表示されます。各項目で「なぜ問題か」と「どう直すか」を確認でき、行番号をクリックすると該当行へ移動します。

  3. 3

    構成ツリーで全体を把握

    グローバルオプション・スニペット・サイト・マッチャー・ディレクティブの階層がツリーで表示され、ルーティング構成を素早く把握できます。

Caddyfile

入力内容はブラウザ内だけで処理され、外部サーバーへ送信されません。

Caddyfile を貼り付けると、構文と構成を検証します。サンプルから試すこともできます。

Caddyfile 検証・可視化とは

Caddyfile 検証・可視化は、Caddy v2 の Caddyfile をブラウザ内で解析し、構文と構造の誤りを行単位で検出するオンラインツールです。中括弧の対応、グローバルオプションブロックの位置、サイトアドレスの重複、スニペット定義と import の整合、名前付きマッチャーの未定義参照といった構造由来のエラーに加え、reverse_proxy のアップストリーム指定、handle_path のパスマッチャー、basic_auth のパスワードハッシュ、tls の引数といったよくある設定ミスを、15のルールでチェックします。各指摘には「なぜそれが問題か(理由)」と「どう直すか(改善案)」を日本語で併記し、Caddy 公式ドキュメントの該当ページへのリンクも表示します。あわせて、グローバルオプション・スニペット・サイトブロック・マッチャー・ディレクティブの階層を構成ツリーとして可視化し、リバースプロキシのルーティングを素早く把握できます。すべての処理はブラウザ内で完結し、入力した内容が外部サーバーへ送信されることはありません。

主な機能

  • Caddy v2 Caddyfile の構文・構造を15のルールで検証
  • 各指摘に理由と改善案、公式ドキュメントへのリンクを表示
  • サイト・マッチャー・ディレクティブの構成をツリーで可視化
  • すべてブラウザ内で完結し外部サーバーへの送信なし

こんな場面で役立ちます

  • 記事やブログからコピーした Caddyfile を、サーバーへ反映する前に確認
  • reverse_proxy と handle_path のルーティング構成を把握
  • スニペットと import の参照ずれや名前付きマッチャーの typo を発見
  • 複数サイトを1ファイルで運用する homelab 構成の点検

よくある質問

入力した Caddyfile は外部に送信されますか?

いいえ。解析・検証はすべてブラウザ内の JavaScript で実行され、Caddyfile が外部サーバーへ送信されることはありません。設定ファイルには内部ホスト名やパスが含まれることが多いため、この点を最優先に設計しています。

`caddy validate` との違いは何ですか?

`caddy validate` は Caddy 本体をインストールしたサーバー上で動く公式コマンドで、正確さでは最も信頼できます。本ツールは、インストール前や記事からコピーした段階でブラウザだけで確認できること、各指摘に日本語の理由と改善案が付くこと、サイト構成をツリーで可視化することが違いです。最終確認には `caddy validate` を併用するのがおすすめです。

Caddy v1 の Caddyfile や JSON 設定にも対応していますか?

対応していません。本ツールは Caddy v2 の Caddyfile 形式のみを対象としています。v1 構文や JSON 設定を貼り付けた場合は、対象外である旨を検出して案内します。

知らないディレクティブがエラーにならないのはなぜですか?

Caddy はプラグイン(外部モジュール)でディレクティブを追加できるため、標準一覧にない名前でも正しい設定であることがあります。誤検出を避けるため、未知のディレクティブは「情報」として表示するだけにとどめています。

スニペットの import は定義より前に書けますか?

書けません。Caddy は Caddyfile を上から順に解決するため、`import` の時点でまだ定義されていないスニペットは見つかりません。スニペット定義はファイルの先頭付近に置いてください。本ツールはこの前後関係も検証します。