コミュニティソリューション

ZimaOSとセルフホストアプリのHTTPS警告を解消する

A ZimaOS user wanted to remove browser security warnings from the dashboard and every hosted app. The thread clarified the local ZimaOS certificate, Windows trust-store import, and why separate apps need their own HTTPS or a reverse proxy.

ブラウザーでZimaOSダッシュボードやアプリが「安全ではありません」と警告された場合は、まずメインのZimaOSダッシュボードと、それぞれ独自のポートで動作するアプリケーションを分けて考えてください。元のスレッドでは最終的に、これらは異なる2つのHTTPS問題であることが確認されました。

ZimaOSはhttps://zimaos.local用のローカル証明書を生成できます。この証明書を信頼すると、ZimaOSダッシュボードでのブラウザー警告をなくせます。ただし、Plex、Jellyfin、Emby、AdGuard、その他のDockerアプリにHTTPSが自動的に適用されるわけではありません。これらは別個のHTTPサービスだからです。多くのアプリを信頼できるHTTPS名の背後に置くには、適切な証明書を使用したNginx Proxy ManagerやCaddyなどのリバースプロキシを利用してください。

元のブラウザー警告

HTTPS経由でローカルZimaOSダッシュボードを開いたときに表示されるブラウザーの証明書警告
元の投稿者は、ZimaOSを開くたびにブラウザーの証明書警告をクリックして進むのをやめたいと考えていました。

オプション1:ローカルZimaOSダッシュボードのHTTPSを無効にする

Zima-Giorgioは、ZimaOSの設定パネルでHTTPSを無効にできると回答しました。信頼できるプライベートLANでは、プレーンHTTPにすることで証明書警告の煩わしさをなくせる場合がありますが、ブラウザーとダッシュボード間の通信暗号化もなくなります。

ローカルHTTPS証明書とセキュリティ制御を表示するZimaOSの設定画面
2025年の元の回答では、ZimaOSでローカルHTTPSの動作を管理できる場所が示されていました。

ネットワーク間を移動するノートパソコンやデバイスでは、ブラウザーのセキュリティを全体的に弱めるよりも、通常はZimaOS証明書を信頼する方が望ましいです。

オプション2:ZimaOSのローカル証明書をダウンロードして信頼する

公式回答では、生成されたCRTファイルをダウンロードし、クライアントで信頼することが推奨されていました。信頼の設定後は、次を使用します。

https://zimaos.local
生成されたローカルHTTPS CRT証明書をダウンロードするためのZimaOSインターフェース
生成されたCRTは、ローカルZimaOSダッシュボードのホスト名への信頼を確立するためのものです。

WindowsでZimaOSのCRTを信頼する

元の回答では、Windowsでの手順として次のプロセスが示されていました。

  1. 押す Win + R.
  2. 実行 certmgr.msc.
  3. 信頼されたルート証明機関 → 証明書を開きます。
  4. すべてのタスク → インポートを選択します。
  5. 自分のZimaOSシステムからダウンロードしたCRTを選択します。
  6. 信頼されたルート証明機関に配置します。
  7. ブラウザーを再起動します。

自分が把握しているZimaOSインスタンスから取得した証明書のみを信頼してください。ルート証明書をインストールすることは、そのクライアントで接続を検証するために信頼することを意味します。

ZimaOSの証明書でJellyfin、Plex、Embyが保護されない理由

元の投稿者は後にPop!_OSで証明書を正常にインポートし、次のことを確認しました。 zimaos.local 動作しましたが、Plex、Emby、Jellyfinは依然として安全でないように表示されました。

2026年の返信では、その理由が説明されました。これらのアプリは、別々のサービスとポートで待ち受けているためです。例:

Jellyfin: http://ZIMAOS_IP:8096
Plex:     http://ZIMAOS_IP:32400

ZimaOSダッシュボードの証明書を自動的に引き継ぐわけではありません。これは想定された動作であり、CRTのインポートに失敗した証拠ではありません。

複数のアプリでHTTPSを使用するにはリバースプロキシを使う

次のような名前をアプリケーションに付けるには:

https://jellyfin.example.com
https://emby.example.com
https://adguard.example.com

その前段にリバースプロキシを配置します。プロキシがTLS証明書を処理し、その後、各リクエストをアプリケーションの内部HTTPポートに転送します。

Nginx Proxy Managerは現在、ZimaOSのアプリストアで利用できます。

ZimaOS向けNginx Proxy Manager

Nginx Proxy Managerでポート80または443がすでに使用中と表示される理由

ソースの投稿者はプロキシをインストールしようとして、すぐにポートの競合に遭遇しました。現在のNginx Proxy Managerのドキュメントでは、次の標準ポートが想定されています。

80 → 公開HTTP
443 → 公開HTTPS
81 → NPM管理UI

ZimaOSがすでにホストのポート80または443を使用している場合、NPMは同じホストポートを同時にバインドできません。

Nginx Proxy Managerの公式セットアップ

ポート81は公開HTTPSの転送先ではありません

同じスレッドの後の投稿者が、ルーターのポート80と443を内部ポート81に転送していました。コミュニティは次のように訂正しました。

ルーターの80 → NPMの80番ポート
ルーターの443 → NPMの443番ポート

ポート 81 NPMの管理インターフェースです。通常の公開ウェブサイトのトラフィックを受けるべきではありません。

HTTPチャレンジとDNSチャレンジ

このスレッドでは、Let's Encryptの2種類の検証方法についても分けて説明しています。

  • HTTPチャレンジ:通常、認証局がポート80経由でプロキシに到達できる必要があります。
  • DNSチャレンジ:DNSプロバイダーのレコードまたはAPIを通じてドメインの管理権限を検証でき、ポート80への受信検証を回避できます。

どちらか一方の方法を意図的に選択してください。NPMがどの検証経路を使用しているかを理解せずに、両方の方法の設定を組み合わせないでください。

Nginx Proxy Managerを実行するだけでもMySQLは必要ですか?

いいえ。現在のNginx Proxy Managerのセットアップでは、シンプルな単一コンテナ構成にSQLiteを使用できます。外部のMySQL、MariaDB、PostgreSQLデータベースは任意です。

ソーススレッドで提起された別の懸念も解消されます。初心者は、いくつかのホームサービスのリバースプロキシを始めるだけなら、MySQLをデプロイする必要はありません。

ZimaOSのWebポート変更にはトレードオフがある

スレッドの後半では、あるユーザーがZimaOSをポート80以外に移動し、その後Nginx Proxy Managerをインストールできるようになりました。しかし、2026年の別のコミュニティ報告によると、ZimaOSのダッシュボードポートを変更すると、Zimaデスクトップ/モバイルクライアントの動作に支障が出る可能性があります。

つまり、「ZimaOSをポート80から移動する」ことは、リスクのない万能な解決策ではありません。変更する前に、環境内でどちらをより重視するか決めてください。

  • リバースプロキシによる標準の80/443ポートの管理。
  • または、ZimaOSのデフォルトのクライアント/検出動作を維持することです。

ローカル限定HTTPSとパブリックHTTPS

アプリケーションを自宅内でのみ使用する場合:

  • 信頼できるLAN内では、直接HTTPを使い続けることもできます。
  • ローカルで信頼された証明書を使用する。
  • または内部リバースプロキシと内部DNSを運用します。

インターネットからアクセス可能なHTTPSを使用する場合は、ドメイン、強力な認証、正しく発行された証明書、そして意図的に設計したリモートアクセス/セキュリティ構成を使用してください。ブラウザーの南京錠アイコンを表示させるだけの目的で、アプリケーションの管理ポートやNPMの管理UIを公開しないでください。

ZimaOS HTTPSチェックリスト

  1. 警告の原因が何かを判断してください。 zimaos.local または別のアプリケーション。
  2. ZimaOSダッシュボードでは、警告なしでローカルHTTPSを使用したい場合、生成されたCRTをダウンロードして信頼してください。
  3. 使用 https://zimaos.local 証明書が信頼された後。
  4. ZimaOSのCRTが別のアプリのポートまで保護するとは考えないでください。
  5. 複数のアプリでHTTPSホスト名を使用するには、リバースプロキシを使ってください。
  6. NPMをインストールする前に、ポート80と443をどのサービスが使用しているか確認してください。
  7. NPMのポート81は管理用として使用し、パブリックWebサイトへの転送には使わないでください。
  8. ネットワークに応じて、HTTP検証またはDNS証明書検証のいずれかを選択してください。
  9. 不要な管理サービスをパブリックインターネットに公開しないでください。

ZimaOS HTTPSに関するよくある質問

zimaos.localは安全なのに、JellyfinはまだHTTPなのはなぜですか?

ZimaOSの証明書はダッシュボードのホスト名に適用されるためです。Jellyfinは独立したサービスで、専用のポートで待ち受けています。

1つのリバースプロキシでZimaOSのすべてのアプリを保護できますか?

各プロキシホストが正しく設定され、プロキシから転送先アプリに到達できれば、複数のHTTPサービスのHTTPS終端を処理できます。

なぜNginx Proxy Managerはポート443で起動できないのですか?

そのホストポートには、すでに別のサービスがバインドされています。元のスレッドでは、ZimaOSとNPMが標準のWebポートを奪い合ってこの問題が発生していました。

ポート81にパブリックHTTPSトラフィックを転送すればよいですか?

いいえ。ポート81はNPMの管理UIです。通常のパブリックトラフィックはポート80と443に到達する必要があります。