問題の内容
ComfyUI Managerを使用してカスタムノードやモデルをダウンロードしようとした際に、ターミナルやログ画面に以下のようなSSL証明書に関連するエラーが表示される場合があります:
FETCH DATA from: /home/tanghe/tools/comfy/ComfyUI/custom_nodes/ComfyUI-Manager/extension-node-map.json [DONE]
FETCH DATA from: /home/tanghe/tools/comfy/ComfyUI/custom_nodes/ComfyUI-Manager/.cache/4245046894_model-list.json [DONE]
Install model 'diffusers/stable-diffusion-xl-1.0-inpainting-0.1 (UNET/fp16)' into '/home/tanghe/tools/comfy/ComfyUI/models/unet/xl-inpaint-0.1/diffusion_pytorch_model.fp16.safetensors' [ERROR]
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>
このエラーは、HTTPS接続時にSSL証明書の検証が正常に完了できない場合に発生します。モデルのダウンロードやカスタムノードのインストールが正常に完了せず、ワークフローの実行に必要なリソースが得られないという問題につながります。
結論
SSL証明書の検証エラーの主な原因は以下の2点です:
- PythonのSSLモジュールがシステム証明書を正しく読み込めていない
- プロキシやファイアウォールがSSL接続を中途で干涉している
最も簡単な対処法は、PythonのSSL検証を無効化するか、システム証明書を更新することです。以下に具体的な解決手順を説明します。
具体的な解決手順
方法1: SSL証明書の更新(推奨)
まず、システム全体の証明書を更新尝试してください。OSに応じた以下のコマンドを実行します:
Windowsの場合
# PowerShellでWindowsアップデート旗下的証明書を更新
Update-WindowsCertStore
Ubuntu/Debianの場合
sudo apt update
sudo apt install --reinstall ca-certificates
sudo update-ca-certificates
macOSの場合
# Homebrewで証明書を更新
brew install ca-certificates
/usr/local/opt/ca-certificates/bin/cert-sync ~/.python/etc/ssl/certs/certifi/cacert.pem
方法2: Pythonのcertifiを使用する場合
ComfyUIが使用しているPython環境の証明書を更新します:
# pipでcertifiを更新
pip install --upgrade certifi
# 証明書の場所を確認
python -c "import certifi; print(certifi.where())"
出力された証明書の メモしてください。
方法3: 環境変数でSSL検証を無効化(緊急時用)
上記方法で解決しない場合、一時的な回避策としてSSL検証を無効にできます。注意:セキュリティリスクが伴うため、一時的な使用に留めてください。
方法3-1: 環境変数を設定する場合
# Windows
set PYTHONHTTPSVERIFY=0
# Linux/Mac
export PYTHONHTTPSVERIFY=0
方法3-2: ComfyUI起動時にPythonオプションを渡す場合
ComfyUIの起動スクリプト(run_cpu.batまたはrun_nvidia.bat)を編集し、以下のオプションを追加します:
# run_nvidia.bat の編集例
...
python -s -c "import ssl; ssl._create_default_https_context = ssl._create_unverified_context" %*
または、ComfyUIのPython起動コマンドを以下のように変更します:
python -c "import ssl; ssl._create_default_https_context = ssl._create_unverified_context" main.py --force-fp16
方法4: GitのSSL設定を確認する場合
ComfyUI Managerが内部でGitを使用している場合、GitのSSL設定も確認が必要です:
# GitのSSL検証を一時的に無効化(推奨されません)
git config --global http.sslVerify false
# 推奨:GitのSSL証明書を指定
git config --global http.sslCAInfo /path/to/cacert.pem
補足・注意点
バージョン依存について
- ComfyUIのバージョン:古いバージョンのComfyUIではSSL処理に問題がある場合があります。最新バージョンへの更新を検討してください
- Pythonのバージョン:Python 3.7以前ではSSL処理の仕様が異なるため、Python 3.8以上へのアップデートを推奨します
- ComfyUI Managerのバージョン:最新バージョンに更新することでSSL関連の問題が解決する場合があります
環境別の注意点
- 企業環境/プロキシ環境:社外ネットワークから接続する場合、プロキシサーバーがSSL検査を行っている可能性があります。IT部門に相談してください
- ポータブル版ComfyUI:インストール版と異なり、ポータブル版はシステム証明書を自行で管理する必要があります
- WSL2環境:Windows Subsystem for Linuxを使用している場合、Windows側の証明書をWSLにインポートする必要があります
セキュリティ上の注意
SSL検証を無効にする方法は、一時的な回避策としてのみ使用してください。SSL検証を無効にすると、中間者攻撃(Man-in-the-Middle Attack)のリスクにさらされます。問題が解決した場合は、SSL検証を再度有効に戻すことを忘れないでください。
# SSL検証を再度有効に戻す
git config --global http.sslVerify true
# 環境変数も削除してください
その他の確認事項
- ファイアウォールやアンチウイルスソフトウェアがSSL接続をブロックしていないか確認する
- ルーターやVPNがSSL接続に問題を与えていないか確認する
- 時間(日付/時刻)が正確に設定されているか確認する(SSL証明書の検証に必要)
参考元
- Trying to install things through the ComfyUI Manager all throw the error: Bad Request · Issue #816 · Comfy-Org/ComfyUI-Manager
- Can’t install ComfyUI Manager? Here’s how to (hopefully) solve it – Reddit
- ComfyUI-Manager Installation – ComfyUI
おすすめ環境
🔧 快適な開発環境のために
本記事の手順をスムーズに進めるために、以下のスペックを推奨します。
- GPU: NVIDIA RTX 4070 Ti Super(AI開発のコスパ最強GPU)
- メモリ: DDR5 64GB(LLMのローカル推論に必須)