【CivitAI】File endpoints: use query parameters for NGINX/Caddy compatibility の完全解決ガイド


はじめに

ComfyUIを使っているときに「File endpoints: use query parameters for NGINX/Caddy compatibility」というエラーが出たことがありますか?この記事では、その原因と解決方法を初心者にもわかりやすく解説します。問題が解決すれば次のステップに進むことができますよ!

前提条件

  • オペレーティングシステム:Windows(他のOSでも大体同じ手順です)
  • Python環境があること
  • ComfyUIのインストールと初期設定が完了していること
  • NGINXやCaddyを経由してComfyUIにアクセスしようとしている

原因の解説

このエラーは、ComfyUIをNGINXなどのプロキシサーバー経由で使用するときに発生します。ファイルに関連したエンドポイント(API)がURLのパス部分にあるため、プロキシサーバーによってURLエンコードが変更されることがあります。

例えば、プロキシサーバーが URL をデコードすると、ComfyUI は意図しない状態でリクエストを処理しようとして 405 Method Not Allowed エラーとなります。これは「NGINX/Caddyなどのプロキシサーバーと互換性があるように、ファイルパスをクエリパラメータに変更すべき」というメッセージです。

解決ステップ (Step-by-Step)

Step 1: ComfyUIの最新版をインストールする

まず、最新バージョンのComfyUIをダウンロードしてインストールします。これにより、File endpoints: use query parameters for NGINX/Caddy compatibility の修正が含まれているはずです。

コマンド

git clone https://github.com/ComfyUI-Project/CompyUI.git
cd ComfyUI
pip install -r requirements.txt

Step 2: サーバー設定を更新する

次に、NGINXやCaddyの設定ファイルを開き、適切なリバースプロキシ設定を行います。具体的には、クエリパラメータを使用してファイルパスを扱うように変更します。

NGINXの場合

location / {
    proxy_pass http://localhost:8188;
    # クエリパラメータでファイルパスを指定する必要がある場合の設定例
    rewrite ^/userdata/workflows/(.*)$ /api/userdata/workflows?$args break;
}

Caddyの場合

Caddyの設定はNGINXとは異なりますが、基本的には同じようにクエリパラメータを使用します。

reverse_proxy localhost:8188 {
    # この部分にクエリパラメータに関するルールを追加
}

Step 3: 前提条件の再確認と実行

最後に、ComfyUIを最新版にアップデートし、プロキシサーバー設定を更新したことを確認してからサーバーを起動します。

python run.py --host 0.0.0.0

よくある質問 (FAQ)

  • Q: ComfyUIをGitHubから直接インストールしたらエラーが出る
    • A: GitHubのブランチやタグは常に最新版とは限りません。プロジェクトページで提供されているインストール手順に従ってください。

まとめ

「File endpoints: use query parameters for NGINX/Caddy compatibility」エラーには少々複雑な背景がありますが、手順通りに進めばすぐに解決できます。ComfyUIの開発チームは常に改善に努めていますので、安心してご利用ください!