StableDiffusion WebUI Forge Neo で簡単にHTTPS接続する方法

HTTP接続だったのが気になったので調べていたところ、HTTPS接続用のオプションが実装されていることが分かったのでそのメモです。

リバースプロキシや専用の拡張機能を使わなくても、証明書ファイルを用意して起動オプションを追加するだけでHTTPS化できます。 → リバプロ使おうとしていたけど専用の実装があったとは。。

環境

今回の環境です。

  • OS:Linux
  • Stability Matrix経由でForge Neoを起動

必要なもの

証明書作成には mkcert を使います。

mkcert はローカル環境向けの証明書を簡単に作れるツールらしいです。
ChatGPTに聞いたら出てきたので活用してみます。


手順

1. Forge Neoのフォルダへ移動する

まず、Stability Matrixで管理されているForge Neoのフォルダへ移動します。

cd StabilityMatrix/Data/Packages/forge-neo

2. 証明書用フォルダを作成する

証明書ファイルを置くための certs フォルダを作成します。

mkdir certs

3. mkcertを初期化する

初回だけ以下を実行します。

mkcert -install

これにより、mkcert用のローカルCAが作成・登録されます。

4. Forge Neo用の証明書を作成する

以下のコマンドで、Forge Neo用の証明書と秘密鍵を作成します。

mkcert -key-file certs/forge-key.pem -cert-file certs/forge-cert.pem localhost 127.0.0.1 ::1 aibox aibox.local

作成されるファイルは以下の2つです。

certs/forge-key.pem
certs/forge-cert.pem

確認する場合は以下を実行します。

ls -l certs

以下のように表示されればOKです。

forge-key.pem
forge-cert.pem

重要:Linuxでは / を使う

Linux環境では、パス区切りに / を使います。
※主は Windows用と間違えてはまりました。。

正しい例:

certs/forge-key.pem
certs/forge-cert.pem

間違い例:

certs\forge-key.pem
certs\forge-cert.pem

certs\forge-key.pem のような書き方はWindows向けです。
Linuxでこの形式を使うと、Forge Neoが証明書ファイルを見つけられず、HTTPS起動に失敗します。

Stability Matrix側の起動オプション

Stability MatrixのForge Neoの起動オプションに、以下を追加します。

--enable-insecure-extension-access --tls-keyfile certs/forge-key.pem --tls-certfile certs/forge-cert.pem --disable-tls-verify

今回の環境では、この指定でHTTPS接続できました。

アクセス方法

Forge Neoを起動したら、ブラウザで以下にアクセスします。

https://aibox:7860

環境によっては、こちらでもアクセスできます。

https://aibox.local:7860

同じPC上から確認する場合は、以下でもアクセスできます。

https://localhost:7860

証明書の警告について

この設定でHTTPS接続自体はできますが、アクセスする端末によってはブラウザに証明書警告が出ます。

これは、接続元の端末がmkcertのローカルCAを信頼していないためです。

例えば、Forge Neoを動かしているLinux PCでは問題なくても、別のWindows PCやスマホからアクセスすると証明書警告が表示されることがあります。

警告を消したい場合は、接続元の端末にもmkcertのルート証明書を信頼させる必要があります。


まとめ

警告画面は出ているものの、とりあえずHTTPS化はできました(‘ω’)
LAN内だけでしか使っていない環境なのであんまり影響ないかもしれませんが、勉強がてらにやってみました。

カテゴリー: パソコン・サーバー関連 タグ: , パーマリンク