ホームページ  >  記事  >  運用・保守  >  Nginx Proxy Manager を使用してリバース プロキシ リクエストのインターセプトと転送を実装する方法

Nginx Proxy Manager を使用してリバース プロキシ リクエストのインターセプトと転送を実装する方法

WBOY
WBOYオリジナル
2023-09-26 08:41:101798ブラウズ

如何使用Nginx Proxy Manager实现反向代理的请求拦截与转发

Nginx Proxy Manager を使用してリバース プロキシ リクエストのインターセプトと転送を実装する方法

Nginx Proxy Manager は、シンプルなインターフェイスを通じて構成できる Nginx ベースの管理ツールですNginx リバース プロキシを管理します。これにより、ユーザーはグラフィカル インターフェイスを通じてリバース プロキシ ルールを設定できるようになり、リクエストのフローをより適切に制御するためのリクエストのインターセプトおよび転送機能も提供されます。この記事では、Nginx Proxy Manager を使用してリクエストのインターセプトと転送を実装する方法を紹介し、具体的なコード例を示します。

  1. Nginx Proxy Manager のインストール

まず、サーバーに Nginx Proxy Manager をインストールする必要があります。公式 Web サイト (https://nginxproxymanager.com/) からインストール パッケージの最新バージョンをダウンロードし、そのガイドに従ってインストールできます。インストールが完了すると、http://localhost:81 を通じて管理インターフェイスにアクセスできます。デフォルトのユーザー名とパスワードは admin です。

  1. リバース プロキシ ホストの追加

Nginx Proxy Manager の管理インターフェイスで、左側のナビゲーション バーの [ホスト] オプションをクリックし、[プロキシの追加] をクリックします。右上隅の「ホスト」ボタンをクリックします。ポップアップ ウィンドウで、関連情報を入力します。

たとえば、リクエストをインターセプトしてローカル ポート 3000 に転送する場合は、次のように構成を入力できます。

  • ドメイン名: ドメイン名を入力します。またはプロキシする IP アドレス。
  • スキーム: 「HTTP」または「HTTPS」を選択します。
  • IP アドレス/ホスト名: 転送する宛先アドレス (ローカル ポート 3000) を入力します。
  • ポート: 転送するターゲット ポートを入力します。

ウィンドウの下部にある「保存」ボタンをクリックして構成を保存します。

  1. リクエストのインターセプトと転送のルールを設定する

リバース プロキシ ホストを追加した後、リクエストのインターセプトと転送のルールを設定する必要があります。左側のナビゲーション バーの [場所] オプションをクリックし、右上隅の [場所の追加] ボタンをクリックします。ポップアップ ウィンドウで、関連情報を入力します。

  • パス: インターセプトするパスを入力します。たとえば、/api で始まるすべてのリクエストをインターセプトする場合は、「/api」と入力します。
  • プロキシ ホスト: 前に追加したリバース プロキシ ホストを選択します。
  • プロキシの場所: 転送する宛先アドレスを入力します。たとえば、http://localhost:3000 に転送するには、/ と入力します。

ウィンドウの下部にある「保存」ボタンをクリックして構成を保存します。

  1. Nginx 構成ファイルの変更

Nginx Proxy Manager の構成を有効にするには、Nginx 構成ファイルも変更する必要があります。 SSH 経由でサーバーにログインし、Nginx 構成ファイルを見つけます。インストール方法に応じて、構成ファイルは /etc/nginx/nginx.conf または /usr/local/nginx/conf/nginx.conf に配置されます。

構成ファイル内で次のような location ブロックを見つけます:

http {
  ...
  server {
    ...
  }
}

location ブロックに次のコードを追加します:

include /var/www/npm/fullchain.pem;
include /var/www/npm/privkey.pem;

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:81;
        proxy_set_header Host $host;
    }

    listen 443 ssl; # enable HTTPS
    ssl_certificate /var/www/npm/fullchain.pem; # provide your SSL certificate
    ssl_certificate_key /var/www/npm/privkey.pem; # provide your SSL certificate key

}

上記のコードでは、次のことを行う必要があります。 「/var /www/npm/fullchain.pem」と「/var/www/npm/privkey.pem」を SSL 証明書のパスに置き換えます。また、「your_domain.com」を自分のドメイン名に置き換えます。

ファイルを保存して終了し、Nginx 構成ファイルをリロードします。

sudo nginx -t
sudo service nginx restart
  1. Test

上記の手順を完了すると、アクセスしてみることができます。ドメイン名を確認し、リクエストがローカル ポート 3000 に正常に転送されるかどうかを確認します。ブラウザの開発者ツールを開き、[ネットワーク] タブでリクエストの詳細を表示できます。

すべてが正しく構成されていれば、リクエストは正常にインターセプトされてローカル ポート 3000 に転送され、対応するコンテンツがブラウザに表示されます。

概要

この記事では、Nginx Proxy Manager を使用してリクエストのインターセプトと転送を実装する方法を紹介し、具体的なコード例を示します。 Nginx Proxy Manager のシンプルな構成を通じて、リバース プロキシのリクエスト フロー制御を簡単に実装し、サーバー内のリクエストをより適切に管理できます。この記事が、Nginx Proxy Manager を使用してリクエストをインターセプトおよび転送する方法を理解するのに役立つことを願っています。

以上がNginx Proxy Manager を使用してリバース プロキシ リクエストのインターセプトと転送を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。