TOP  

Nginx Proxy Manager:セットアップと使用方法

音声版(※英語です。再生ボタンを押して記事をシームレスにスクロール ▶️🎶)

Nginx Proxy Manager (NPM) は、Nginxのプロキシ、SSL、アクセスリストなどの管理を簡素化するために設計されたオープンソースで無償のアプリケーションです。 ユーザーフレンドリーなダッシュボードで構成されており、Nginx CLIのエキスパートではないユーザーを支援することを目的としています。 さらに、Let's Encryptによる無料のSSL、Dockerの統合、複数ユーザーのサポートも提供している。

この完全ガイドでは、Nginx Proxy Managerの紹介を目的としています。NPMとは何か、どのように動作するのか、その特徴などの基本的なことを説明します。

この記事ではまた、NPMとネイティブのNGINX設定の比較、Dockerへのインストールプロセスの詳細、UIと初期設定のガイドを掲載し、最後によくある質問に対するFAQセクションを設けています。

NPMガイド

免責事項: 本資料は、情報提供のみを目的として作成されたものです。いかなる活動(違法行為を含む)、製品、サービスを推奨するものではありません。当社のサービスを利用する場合、またはここに記載されている情報に依拠する場合は、知的財産権法を含む適用法を遵守する責任を負うものとします。当社は、法律で明示的に義務付けられている場合を除き、いかなる方法であれ、当社のサービスまたはここに含まれる情報の使用から生じる損害について一切の責任を負いません。

目次

  1. Nginx Proxy Managerとは何ですか?
  2. NPMとネイティブNGINXの構成
  3. Nginx Proxy Managerのインストール方法
  4. Nginx Proxy Manager UIの使い方と設定方法は?
  5. 重要なコンフィギュレーションと初期設定
  6. Nginx プロキシマネージャ FAQ
  7. まとめ

📘 NGINXを知っていると思いますか?もう一度考えてみてください。

ほとんどのコンフィグは、これらの重要なディレクティブを見逃している: 47ディレクティブ・ブループリントのダウンロード

1.Nginx Proxy Managerとは何ですか?

Nginx Proxy Manager (NPM) は、Nginxのプロキシ、SSL、その他の機能の管理を簡素化するために作成された強力な(MITライセンスのオープンソースプロジェクト)ツールです。Nginxの複雑な機能に精通していないユーザを想定して設計されています。 

このツールを使えば、ユーザーはネットワーク(またはコンピューター)内でウェブサービスを簡単に公開することができる。言い換えれば、インターネットトラフィックのための安全で効率的なゲートウェイを提供する。同様に、Let's Encryptとの統合により、ユーザーは無料のSSL証明書でサービスを安全に保護することができる。 

主な特徴

  • 美しいUI: Tablerをベースにしたインターフェースは直感的でユーザーフレンドリー。
  • 無料SSL: Let's Encryptのビルトインサポートにより、ユーザーは追加費用なしでウェブサービスを安全に保護できる。
  • Dockerとの統合: Nginx Proxy ManagerはDockerイメージとしてビルドされています。これによりデプロイが簡素化され、機能するために必要なのはデータベースだけです。
  • 複数のユーザー: さまざまなアクセスレベルを持つ追加ユーザーの設定もサポートしている。

Nginx Proxy Managerはどのような人にお勧めですか? 

Nginx Proxy Managerはセキュリティを念頭に置いて設計されており、ホームネットワークや、より広いインターネットにサービスを公開したい中小企業にとって理想的な選択肢です。さらに、その親しみやすいデザインにより、あらゆるスキルレベルのユーザが利用でき、リバースプロキシやSSLターミネーションなどを管理するための堅牢なソリューションを提供します。そのため、Nginx Proxy Managerは自宅でウェブアプリケーションをホストしている人や中小企業のサービスを管理している人に便利です。Nginxの機能をフルに活用することがこれまで以上に簡単になります。

ソフトウェアとプロジェクトの詳細:

  • ドキュメンテーション Nginx Proxy Managerのドキュメントは非常に充実しています。セットアップ、コンフィギュレーション、運用ガイダンスのすべてが詳細に説明されています。以下の READMEファイル をご覧ください。 
  • MITライセンス。 これは寛容なフリーソフトウェアライセンスであり、個人や組織がソフトウェアとその関連文書を自由に使用、複製、変更、結合、出版、頒布、サブライセンス、販売することを認めています。 
  • 人気がある: このプロジェクトには2.2k以上のフォークと19.2k以上のスターがあります。GitHub上のスターとフォークの数は、このプロジェクトに対するコミュニティの関心と関与を示している。
  • 積極性と対応力: GitHubのissues (1.3k)とpull request (59)のタブをチェックすると、このプロジェクトは着実に活動しているようで、メンテナーは実に反応が良い。
  • 互換性: Nginx Proxy Managerソフトウェアは、Dockerをサポートしているシステムであればインストールすることができます(ビルド済みのDockerイメージとして配布されているため)。そのため、様々な環境に適しています。

Nginx Proxy Managerとは何ですか? 

Nginx Proxy Manager (NPM) は直接的には NGINX, Inc.Nginxは、Nginxウェブサーバを開発した会社です。また、NPMはウェブサーバーでも、コンテンツデリバリーネットワーク(CDN)でも、ウェブアプリケーションファイアウォール(WAF)でも、スタンドアロンSSL/TLS認証局でも、完全なホスティングソリューションでもありません。そして最も重要なことは、NPMはプロキシサーバーのプロバイダーではないということです。プロキシサーバーは提供しません。 プロキシプロバイダ を使用し、NPMで管理する。

2.Nginx Proxy Manager (NPM) と NGINX ネイティブの比較

前のセクションで述べたように、NGINX(またはnginx)はウェブサーバーとして機能する多機能なオープンソースソフトウェアである。また、サーバー間のトラフィックをバランスさせるリバースプロキシとしても機能する。さらに、メールプロキシやHTTPキャッシュとしても設定できる。 

NGINXプロキシサーバの設定と管理にはNGINX自身を使用できます。では、なぜNGINX Proxy Manager(NPM)が必要なのでしょうか? 

以下の比較表をご覧ください。各オプションの利点と課題がまとめられています。

Nginx Proxy Manager (NPM) とネイティブNGINXの比較

アスペクトNginx Proxy Manager (NPM)ネイティブNGINX
ユーザーインターフェースフレンドリーなGUIでセットアップが簡単コマンドラインインターフェース。
構成リバースプロキシとSSLの設定を簡素化高度にカスタマイズ可能な詳細設定
学習の機会NGINXのニュアンスの習得を阻害する可能性がある。ウェブサーバー設定に関する深い理解
一括変更GUIは一括変更には効率的でない。設定ファイルによる一括変更が効率的で信頼できる
更新情報アップデートの頻度が少ない。定期的なアップデート、より安全
柔軟性高度な設定オプションがない場合がある複雑なセットアップのためのフル機能アクセス
サービス障害対応たった一つのエラーが、サービス全体の失敗を引き起こす可能性がある個々のサービス障害の切り分けと管理が可能
長寿一人のプログラマーに依存した開発。大きなコミュニティーに広く支持されている
SSL管理自動化されたSSLの設定と管理手動設定。SSL設定をよりコントロールできる。
オーバーヘッドGUIが管理レイヤーを追加設定ファイルとの直接対話
スケーラビリティ複雑でスケーラブルな環境には適さないかもしれないスケーラブルでエンタープライズレベルの構成に適しています。
インフラストラクチャー・アズ・コードウェブベースの管理のため、あまり適していないインフラストラクチャー・アズ・コードの実践に最適
コミュニティとサポート小規模、デベロッパーの都合による幅広いサポートとドキュメントを備えた大規模なコミュニティ

注意: NPMとネイティブNGINXのどちらを選択するかは、最終的には特定のニーズ、スキル、管理するサーバー設定の複雑さによって決まります。しかし、比較表を見ることで、どちらを選ぶべきかのヒントを得ることができます。また、SSL管理に関しては、次のものを使用することをお勧めします。 SSLおよびTLS証明書 ソフトウェアだ。

3.Nginx Proxy Managerのインストール方法

デモのため、Docker Desktop(およびDocker Compose)を使ってDockerコンテナにNginx Proxy Managerをインストールします。 

Docker Composeを使用してWindowsマシンにNginx Proxy Managerをインストールするには、以下のステップバイステップの手順に従ってください:

a.要件

  • DockerとDocker Compose: DockerとDocker ComposeがWindowsマシンにインストールされていることを確認してください。インストールされていない場合は、Docker Composeを含むDocker Desktop for Windowsを以下のサイトからダウンロードできます。 Docker公式ウェブサイト.
  • Docker-Composeは、マルチコンテナのDockerアプリケーションを定義して実行するために使用します。YAMLファイルがあれば、アプリケーションのサービスを設定し、設定からすべてのサービスを作成して起動することができます。
  • インストール後、システムトレイのアイコンを確認してDockerが起動していることを確認する。
DockerデスクトップとNPM
写真提供:Docker Desktop
  • また、両方のバージョンがインストールされていることを確認することもできる。docker -version "を実行して、Dockerがインストールされ、動作していることを確認する。docker-compose -version "を実行して、Docker Composeがインストールされているか確認する。
  • 港湾:ポート80、81、443はNginx Proxy Managerの動作に必要なため、システムで利用可能であることを確認してください。ポート80はHTTP、ポート443はHTTPS、ポート81は管理インターフェースへのアクセスに使用されます。
  • 巻: データ永続化のためにボリュームをマッピングする必要がある。具体的には、コンテナ内の/dataと/etc/letsencryptにローカル・ディレクトリをマッピングし、コンテナの再起動に渡って設定とSSL証明書が保持されるようにする。これは、Dockerイメージを更新する際の鍵となる。 

b.Docker Composeファイルを作成する

  • お好みのテキストエディタを開き、docker-compose.ymlという名前のファイルを作成する。または、ファイルがすでに作成されている場合は、それを開いて以下の行をファイルに追加するだけです。 
  • 以下の内容をファイルに貼り付けます(YAMLのフォーマットに合わせて、スペーシングとインデントが正しいことを確認してください):
バージョン: '3.8
サービスを提供する:
  アプリ
    のイメージです:'jc21/nginx-proxy-manager:latest'
    restart: 停止しない限り
    ポートだ:
      - 80:80′ # パブリックHTTPポート
      - # 管理者ウェブポート
      - 443:443' # パブリック HTTPS ポート
    巻:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  • ファイルを専用フォルダに保存します。このフォルダにはデータや設定ファイルも保存されます。
NPM Dockerを呼び出す
写真提供:nginxproxymanager.com

c.Nginx Proxy Managerを起動します。

  • コマンドプロンプトまたはPowerShellウィンドウを開く。cdコマンドを使ってdocker-compose.ymlファイルを保存したディレクトリに移動します。Docker Composeファイルに問題がある場合は、次のようなオンラインのYAMLバリデーターを試してみることをお勧めします。 YAMLint で書式エラーをチェックする。 
  • 以下のコマンドを実行してソフトウェアを起動する:
Powershell Docker Compose NPM
  • Dockerは必要なイメージのダウンロードを開始し、Nginx Proxy Managerコンテナを起動します。
NPM Dockerのインストール - Poweshell
  • これでDocker Desktopに戻って、新しいNginx Proxy Manager Dockerコンテナが稼働していることを確認できます。 
ドッカーとNPM

🔍 NGINXのクイックリストでデバッグを減らし、デプロイをスマートに。 >> カンニングペーパーをダウンロードする

d.Nginx プロキシマネージャインタフェースにアクセスする

  • Nginx Proxy Managerコンテナが起動したら、ウェブブラウザを開き、http://localhost:81。ログインページが表示されるはずだ。
NPMで始める
写真提供:nginxproxymanager.com

e.Nginx Proxy Managerにログインします。

  • 管理インターフェイスにアクセスするには、デフォルトのログイン認証情報を使用します:
  • ログインすると、すぐにデフォルトのパスワードを変更するよう促される。
Nginxプロキシマネージャのパスワード変更
写真提供:nginxproxymanager.com
  • ログインと認証情報の変更に成功したら、プロキシホスト、SSL証明書、その他の設定を必要に応じて開始できます。

f.インストールのメンテナンス

  • 定期的にコンテナを停止して最新のイメージを取得し、スタックを再起動することで、Nginx Proxy Managerを最新の状態に保ちます:

以上の手順で、Docker Composeを使ってWindowsマシンにNginx Proxy Managerをインストールすることができました。

遅くて信頼性の低いプロキシ性能にお悩みですか?RapidSeedboxが解決します。

当社の堅牢で信頼性の高いプロキシでNginxプロキシ管理を強化してください。
卓越した技術にご挨拶を!
----

4.Nginx Proxy Manager UIの使い方と設定方法は?

Nginx Proxy Managerには、プロキシサーバとしてNginxを設定・管理するためのユーザフレンドリなウェブベースのインターフェースが付属しています。 


Nginx Proxy ManagerのUIにある様々な側面をざっと見ていきましょう。 

a.ダッシュボード

プロキシホスト、リダイレクションホスト、ストリーム、404ホストの概要を表示するわかりやすいレイアウトです。ダッシュボードのデザインにより、サーバーのステータスが一目でわかり、さまざまな設定エリアへ素早く移動できます。

NPMダッシュボード
写真提供:nginxproxymanager.com

b.ホスト 

このセクションでは、プロキシホスト、リダイレクションホスト、ストリーム、404ホストを含むすべてのホストを一覧表示します。重要なのはProxy Hostで、送信元と送信先、SSLが設定されているかどうか、オンラインステータスが表示されます。Add Proxy Host "ボタンをクリックし、ドメイン名を入力し、スキームを選択し、フォワードホスト名/IPとポートを設定することで、新しいプロキシホストを追加することもできます。これについては次のセクションで詳しく説明する。 

NPMの起動
写真提供:nginxproxymanager.com

c.アクセス・リスト

このセクションでは、アクセス制御を管理することができます。異なるホストを閲覧または管理できるユーザを制限することで、さらなるセキュリティを提供します。また、"Add Access List "を使って新しいアクセスリストを作成することもできます。 

nginxプロキシマネージャアクセスリスト
写真提供:nginxproxymanager.com

d.SSL証明書

このセクションには、プロバイダや有効期限などの詳細を含め、利用可能または使用中のすべてのSSL証明書が表示されます。新しいホストをSSL証明書で保護するための「SSL証明書を追加」ボタンもあります。 

SSL証明書
写真提供:nginxproxymanager.com

e.ユーザー。

ユーザーセクションはユーザー管理への簡単な方法を提供します。ユーザー権限の概要、新規ユーザーの追加、既存ユーザーの変更が可能です。

NPM UI
写真提供:nginxproxymanager.com

f.監査ログ

UIのこの部分には、Proxy Manager内で行われたアクションの履歴が表示されます。この監査ログには、イベント、設定の更新、SSL証明書の更新が含まれます。

NPMのインストール
写真提供:nginxproxymanager.com

g.設定

設定では、不明なホストへのアクセスに対するレスポンスなどのデフォルトの動作のカスタマイズや、カスタムエラーページのオプションを提供します。以下のスクリーンショットはデフォルトのサイト(Nginxが不明なホストでヒットしたときに表示するもの)です。

設定
写真提供:nginxproxymanager.com

🕶️ プロはNGINXの設定を推測しない。

一流のシスアドが使うディレクティブを正確に入手する: コンフィグガイドのロック解除

5.重要な構成と初期設定。

Nginx Proxy Manager UIを使えば、Nginxやコマンドラインツールについて詳しく知らなくても、リバースプロキシの作成と管理、SSL証明書の適用、サーバ設定の微調整を簡単に行うことができます。

以下の基本構成から始めることをお勧めします。

a.プロキシホストの設定

  • プロキシホスト "タブに行き、"プロキシホストの追加 "をクリックする。 
  • ドメイン名を入力し、HTTPまたはHTTPSを選択し、プロキシ先のサービスの内部IPアドレスとポートを入力します。 
  • また、ロケーションなどのパラメータを変更したり、SSLを割り当てたり、Nginxのカスタム設定を変更したりすることもできます。 
NPMの設定
写真提供:nginxproxymanager.com

b.SSLの設定

SSL証明書」タブに移動します。SSL証明書の追加」をクリックします。Let's Encrypt経由で新しいSSLを要求するか、証明書と秘密鍵を提供して独自の証明書を追加するかを選択します。 

  • 設定パネル内 「Let's Encrypt 証明書」を追加し、ドメイン名を追加する。電子メールを追加し、Let's EncryptのToSに同意し、Test Server Reachabilityでこの証明書をテストする。
  • SSL証明書を追加します: プロキシホストにSSLを割り当てる:プロキシホスト」タブに移動します。Add Proxy Host'をクリックするか、既存のホストを編集する。ドメイン名とその他の必要な詳細を入力します。プロキシホストの'SSL'タブで、追加したSSL証明書を選択する。HTTP/2サポート、HSTS、HTTPからHTTPSへのリダイレクトなどのSSLオプションを選択します。
SSL証明書の追加
写真提供:nginxproxymanager.com

c.ファイアウォールルールの設定。

Nginx Proxy Managerはファイアウォール設定を直接扱うことはできませんが、WAFと同様に動作するルールを設定することができます。

  • アクセスリスト: アクセスリスト」タブで、新しいアクセスリストを作成する。IPアドレスまたは範囲に基づいてアクセスを許可または拒否するルールを定義します。また、特定のサービスへのアクセスにユーザー名とパスワードを要求する認証も有効にできます。
NPMの設定
写真提供:nginxproxymanager.com
  • プロキシホストの詳細設定: Proxy Hosts'の詳細で、'Advanced'タブに切り替えます。カスタムNginxディレクティブを入力して、アクセスを制御したり、リクエストレートを制限したり、問題のあるユーザーエージェントやIPを拒否したりします。 
  • 特定のIPアドレスや範囲をブロックしたり許可したりするために、denyやallowディレクティブのようなルールを追加することができる。
新しいプロキシホストの追加
写真提供:nginxproxymanager.com
  • カスタムロケーション 新規プロキシホスト」設定に進みます(または既存のプロキシホストを編集します)。ここでは、特定のURLパス(場所)を定義し、異なるホスト名とポートに転送することができます。 
  • これにより、内部サービスへの受信トラフィックのルーティングをより細かく制御できるようになります。
NPMの設定
写真提供:nginxproxymanager.com

6.Nginx Proxy Manager FAQ.

a.NGINXとNginx Proxy Managerの関係は? 

NGINXはオープンソースのウェブサーバーです。一方、NGINX Proxy Manager(NPM)はNGINXの管理を簡素化するオープンソースのツールです。前者はNginxの設定と管理を簡素化する管理レイヤです。

b.Nginx Proxy Managerに代わるものは何ですか? 

Nginx Proxy Managerの代替には以下があります。 トラフィック, キャディ, Apache HTTPサーバー, ハップrオキシ, ウィンゲートオープンリスティ.これらの選択肢は、あなたの特定の要件やインフラに最適かどうかを判断するために検討する価値がある。これらの選択肢は、機能、パフォーマンス、構成の複雑さにおいて様々であることに留意してください。 

c.Nginx Proxy ManagerでSSL終端を設定するには?

SSL終了はNginx Proxy Managerで設定できます。新しいプロキシホストを作成することから始め、SSLタブでSSLを有効にし、最後にLetsEncryptから新しいSSL証明書を要求することを選択します。既存の証明書をインポートすることもできます。

d.Nginx Proxy Managerはロードバランシングに使用できますか?

はい、ロードバランシングを設定することができます。1つのプロキシホストに対して複数のバックエンドサーバを設定し、'詳細設定'でロードバランシングの方法を調整することで可能です。以下の違いについてもっと知ってください リバースプロキシとロードバランサ

e.DockerとDocker ComposeでNginx Proxy Managerを設定する手順は?

Docker ComposeでNginx Proxy Managerを設定する完全なガイドについては、ガイド(第3節).しかし、その手順を簡単に説明しよう:

  • DockerとDocker Composeをインストールする。
  • Nginx Proxy Managerサービスの定義を含むdocker-compose.ymlファイルを作成します。
  • docker-compose up -d を実行してコンテナを起動する。
  • http://:81 からウェブUIにアクセスし、セットアップを完了する。

f.Nginx Proxy Managerでリバースプロキシは管理できますか?

リバースプロキシサーバは NPM で管理できます。リバースプロキシサーバはクライアントのリクエストを適切なバックエンドサーバに転送します。これにより、複数のアプリケーションやサービスを単一の IP アドレスでホストできるようになります (そして、一定レベルのセキュリティを追加できます)。

g.Nginx Proxy Managerでアクセス制御とレート制限を実装するにはどうすればいいですか?

アクセス制御とレート制限はプロキシホストの 'Advanced' タブで設定できます。カスタム Nginx ディレクティブを追加して、特定の IP アドレスを許可または拒否し、リクエストレートを制限して不正利用を防ぐことができます。

h.LetsEncrypt による自動更新を含め、Nginx Proxy Manager で SSL 証明書を管理する方法を教えてください。

SSL証明書は「SSL証明書」タブで管理され、LetsEncryptに新しいSSLをリクエストすることができます。また、必要に応じてカスタムSSL証明書をアップロードすることもできます。

7.最後の言葉

この記事ではNginx Proxy Manager (NPM)の基本を探った。このツールは非常に強力で広範囲に及ぶため、氷山の一角に触れたに過ぎません。もっと詳しく知りたい場合は、公式ドキュメント (READMEファイル).

このガイドでは、Nginxプロキシ管理ツールの基本、完全な説明、そしてネイティブなNginxプロキシ管理ツールとの比較について説明します。ガイドでは、インストールから設定、実用的な使用例まで、すべてに触れました。効率的なウェブサービス管理のためにNPMを活用するための貴重な洞察を提供しました。 

このガイドがお役に立てば幸いです。役に立った、あるいは役に立たなかった場合は、以下にコメントや提案をお寄せください。皆様のご意見をお待ちしております!

RapidSeedboxはNginxプロキシマネージャをどのように進化させますか?

高い成功率と匿名IPv4およびIPv6プロキシ。
お客様主導のサポートは24時間365日対応。
専用サーバーで高速、安定、匿名プロキシ。
HTTPsとSOCKS5プロキシは異なるニーズに対応する。
----

著者について ディエゴ・アストゥリアス

ディエゴ・アストゥリアスのアバター

ディエゴ・アストゥリアスは、複雑な技術専門用語を魅力的なコンテンツに翻訳する技術ジャーナリスト。米国ワシントンDCでインターネットワーキング技術の学位を取得し、Cisco、McAfee、Wiresharkの技術認定を受けている。ラテンアメリカ、韓国、西アフリカでの実務経験あり。SiliconANGLE Media、Cloudbric、Pcwdld、Hackernoon、ITT Systems、SecurityGladiators、Rapidseedboxなどで紹介されている。

4万人以上のニュースレター購読者に参加

Seedboxの使用例、テクニカルガイド、プロキシ、プライバシーに関する最新情報を定期的にお届けします。 プライバシー/セキュリティに関する最新情報をお届けします。

  1. こんにちは、ディエゴ、
    とても有益な記事だが、ひとつ疑問がある。
    NPMの背後でNginxウェブサーバーを使用している場合(すべてシングルVM)、これは質問とは無関係です。
    ウェブ・アプリケーションにセキュリティ・ヘッダを適用したい場合、どこに入力する必要がありますか?
    1.NPM上ですか、それとも2.NGINXウェブサーバー上ですか?どちらのシステムでも動作するはずですが、セキュリティの観点からはどこが最適なのでしょうか?
    ユルゲン
    (***)翻訳 http://www.DeepL.com/Translator (無料版

    1. こんにちは、Jurgen。セキュリティヘッダをNPMに適用するのは、主に集中セキュリティ、不正なリクエストの早期阻止、ヘッダ改造の防止のために最適です。ただし、いくつか注意点もあります。例えば、NPM がリバースプロキシとしての役割しか果たさない場合や、 アプリケーションロジックに依存する動的なヘッダが必要な場合などです。そうでない場合は、NPM header config を使うのがよいでしょう。

自分の意見を言う

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です