Technical Anshu ホーム › チュートリアル › Nginx プロキシ マネージャーのインストール
🐳 Docker リバースプロキシ

Nginx プロキシ マネージャーのインストール - 2 分間のセットアップ ガイド

現在、サービスは 192.168.1.50:8080 のような醜いアドレスに存在しています。 Nginx Proxy Manager は、それらを無料の HTTPS を使用して app.yourdomain.com のようなクリーンな名前に変換します。これは 1 つの Docker Compose ファイルとともにインストールされ、手書きの構成ファイルの代わりに単純な Web パネルから管理されます。

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Nginx プロキシ マネージャーのインストール - 2 分間のセットアップ ガイド
🎧 多言語音声: 動画プレーヤーの [設定] (⚙️) ➔ [音声トラック] から希望の音声言語を選択できます。

📑章

  1. リバース プロキシの役割 - すべてのサービスを 1 つのドアで利用できる
  2. 始める前に必要なもの - Docker、ドメイン、到達可能なポート
  3. 何かをインストールする前に、ドメイン DNS がサーバーを指すようにする
  4. フォルダーと docker-compose.yml ファイルを作成します
  5. 1 つのコマンドで Nginx Proxy Manager を起動する
  6. 最初のログイン - 誰もが間違える管理者アカウントの手順
  7. フィールドごとに最初のプロキシ ホストを作成する
  8. 無料の Lets Encrypt HTTPS 証明書を取得し、強制 SSL を有効にする

📋 概要とステップバイステップガイド

1

始める前に必要なもの

Nginx Proxy Manager (NPM) が機能するには、3 つのことが必要です。まず、Docker と Docker Compose がすでにインストールされて動作している Linux サーバーまたは PC です。NPM は、通常のプログラムとしてではなく、コンテナーとして実行されます。 2 番目は、すべてのサービスが独自のサブドメインを取得するため、DNS を編集できるドメイン名です。第三に、ルーターまたはクラウド ファイアウォールは、ポート 80 および 443 をこのマシンに転送できる必要があります。

📌 タイトルの「2 分」について: コンテナーの起動自体は非常に迅速です。ただし、それは Docker がすでにインストールされており、このガイドの準備が完了した後でのみです。新しいマシンでは、セットアップ、DNS、および証明書の手順に適切な時間をかけてください。正直な合計は 2 分を超えています。
⚠️ CGNAT の背後にあるホーム接続では、ポート転送がまったく機能しません。これを修正する NPM 内の設定はありません。その場合、正直な選択肢は、ISP からのパブリック/静的 IP、小規模なレンタル VPS、または代わりにトンネル ツールです。このチェックをスキップしないでください。すべての「NPM が機能しない」という話の半分は、実際には「ポートがサーバーに到達しなかった」という話です。
2

まずドメイン DNS をサーバーに向けます

NPM はトラフィックを名前でルーティングし、Lets Encrypt はマシンを指していると思われる名前に対してのみ証明書を発行します。そのため、その上に何かを構築する前に名前を解決する必要があります。レジストラまたは DNS ホストで、A レコード を追加します。名前はサブドメインの単語のみ (app など)、値はサーバーのパブリック IP アドレスです。すべてのサービスは独自のレコードを取得し、すべてが同じ IP を指すことができます。NPM は後でサービスを名前で分離します。テスト中に 300 秒などの短い TTL を設定すると、間違いが数時間ではなく数分で消えます。

続行する前に証明してください。名前が外部ネットワーク (たとえば、Wi-Fi がオフの携帯電話) からパブリック IP に解決されることを確認してください。壊れた DNS に対して証明書を要求すると、Lets Encrypt の試行が無駄になり、失敗が繰り返されると、数時間にわたってレート制限が行われる可能性があります。順序は重要です。DNS が最初、プロキシ ホストが 2 番目、証明書が 3 番目です。

3

フォルダーと作成ファイルを作成する

サーバー上に NPM 用のフォルダーを作成し、その中に以下のファイルを docker-compose.yml という名前で保存します。この 1 つのファイルでインストールが完了します。イメージ名は公式コミュニティイメージです。ポート 80 と 443 はパブリック ドア、ポート 81 は管理パネルで、2 つのボリュームはセットアップ全体が存在する場所です。./data にはすべてのプロキシ ホストが含まれるデータベースが保持され、./letsencrypt には証明書が保持されます。これら 2 つのフォルダーを失うと、セットアップ全体が失われます。実行中にそれらをバックアップしてください。

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

restart: until-stopped 行は、再起動後に NPM を自動的に戻します。

4

Nginxプロキシマネージャーを起動する

そのフォルダー内から start コマンドを実行します。 Docker はイメージをダウンロードし、バックグラウンドでコンテナを起動します。

Terminal
docker compose up -d

実行中であることを確認します。

Terminal
docker ps

コンテナーがポート 80、443、および 81 でリストされているのが表示されます。小規模サーバーでは、データベースの作成中に最初の起動に 1 ~ 2 分かかります。コンテナーが再起動を繰り返す場合、ログにはその理由がわかりやすい言葉で表示されます。

Terminal
docker compose logs

再起動ループは十中八九、ホスト上の他の何かによってすでに使用されているポートです。通常は古い Web サーバーがまだ実行されています。

5

最初のログイン - すぐに管理者アカウントを保護します

独自のネットワーク上のブラウザで管理パネルを開きます。

Browser Address Bar
http://your-server-ip:81

最初の 1 分でこれを実行してください。ビルドに応じて、NPM は、既知の初回ログイン管理者の詳細を自分の電子メールと強力なパスワードに置き換えるように要求するか、デフォルト アカウントのない新しいビルドでは、最初に管理ページを開いた人が管理者を作成します。どちらの場合でもルールは同じです。コンテナーの起動時に、他に何かを作成する前に独自の管理者アカウントを設定し、実際のメールボックス (証明書の問題について対処する NPM メール) を使用します。

⚠️ 「後で完了する」間は、ポート 81 を公開アクセス可能な状態のままにしないでください。インターネット上でパネルを最初に見つけた人は誰でも、あなたのプロキシを所有します。管理パネルは自分のネットワーク上にのみ保持してください。
6

最初のプロキシ ホストを作成する

NPM でホスト → プロキシ ホスト → プロキシ ホストの追加 を開き、フォームに「この名前はその内部サービスに使用されます」という 1 つの文として入力します。

ドメイン名: app.yourdomain.com - ステップ 2 で取得した正確なパブリック名。すでにサーバーに解決されている必要があります。
スキーム: ほとんどのホームおよびオフィス アプリの http。スキームは、訪問者が使用するものではなく、NPM と内部サービスの間の接続を記述します。NPM はドアで公開暗号化を処理します。内部アプリ自体が HTTPS を提供する場合にのみ、ここで https を選択します。
転送ホスト名 / IP: サービスの内部アドレス (例: 192.168.1.50)。
転送ポート: サービスが実際にリッスンするポート。たとえば、8080 - 80 や 443 ではありません。それらは NPM のドアであり、サービスのドアではありません。

一般的なエクスプロイトのブロック をオンにして保存します。ブラウザで名前を開いてすぐにテストします。理想的には、Wi-Fi をオフにして携帯電話から実際のパブリック パスをテストします。

✅ NPM からの 502 不正なゲートウェイ は障害ではなく道標です。これは、外部の世界が NPM に完全に到達し、最後の内部ホップ (ホスト名またはポート) だけが間違っていることを意味します。セットアップ全体ではなく、そのフィールドを修正してください。もう 1 つの罠: サービスが別の Docker コンテナーで実行されている場合、localhost が間違っています (NPM のコンテナー内で、localhost は NPM 自体を意味します)。公開ポートを持つサーバーの LAN IP を使用するか、両方のコンテナーを同じ Docker ネットワーク上に配置してコンテナー名を使用します。
7

無料の Lets Encrypt HTTPS 証明書を取得する

これは、手順 6 のプレーン ホストがすでに動作している後でのみ実行してください。壊れたホスト上の HTTPS では、証明書付きの壊れたホストが提供され、障害を探す場所が 2 倍になります。同じプロキシ ホストを開き、[SSL] タブに移動し、SSL 証明書を新しい SSL 証明書の要求に設定し、SSL 強制とHTTP/2 サポートを有効にして、Lets Encrypt の利用規約に同意して保存します。サイトをリロードします。ブラウザには https に南京錠が表示されるはずです。

仕組み: Lets Encrypt は、パブリック インターネットのポート 80 経由でサーバーにワンタイム トークン (HTTP-01 チャレンジ) を表示するよう要求することで、名前を制御していることを証明します。これが、ユーザーを指す DNS と到達可能なポート 80 が交渉不可能である理由です。どちらかが失敗すると、リクエストは失敗し、エラーはセットアップに発生し、Lets Encrypt にエラーが発生することはありません。 強制 SSL は、すべての http 訪問者を自動的に https にリダイレクトします。これがないと、暗号化されていないドアが暗号化されたドアの横に開いたままになります。

📌 証明書の有効期間は 90 日間で、NPM は通常、有効期限が切れる約 1 か月前に、同じポート 80 証明を使用して証明書を自動的に更新します。更新が失敗した場合は、まずつまらない原因を確認してください。DNS が変更された、ルーター転送が削除された、またはポート 80 がブロックされたなどです。 HSTS を有効にするのは、サービスが確立され、更新が証明された場合に限ります。これはブラウザが何ヶ月も覚えている強い約束です。

🏷️トピック検索変数とキーワード

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ 全文転写 — タップして展開します

__TOK_34__

__TOK_35__

__TOK_36__

❓ よくある質問

このチュートリアルは完全に無料で実行できますか?

__TOK_37__

初心者でもこのガイドに従うことができますか?

__TOK_38__

行き詰まった場合はどこに質問すればよいですか?

__TOK_39__

🚀 YouTube でチュートリアル全体をご覧ください

__TOK_40__

__TOK_41__

▶️ 動画全体を見る
このチュートリアルはTechnical Anshu の Nginx Proxy Manager のインストール ビデオに基づいています。 • ステップでスタックしていますか?動画のコメント欄で質問してください — そこで助けが得られます 🙏