リバースプロキシとは何ですか?
リバースプロキシは、1つ以上のWebサーバーの前に配置され、クライアントからの要求をインターセプトするサーバーです。クライアントがWebサイトのオリジンサーバーに接続しようとすると、それらの要求はリバースプロキシサーバーによってインターセプトされます。プロキシサーバーはこれらの要求をプロキシサーバーに転送し、プロキシサーバーから応答を受信してクライアントに送信します。
リバースプロキシの利点:
- セキュリティを強化
- 負荷分散
- キャッシュ
- SSL暗号化など
インストールガイド
前提条件
- Ubuntu Server20.04LTSにインストールされているNginxWebサーバー
- Ubuntu Server20.04LTSで構成されたWebサイト
- リモートマシン(NginxおよびWebサイト)へのSSH接続
このガイドでは、いくつかの簡単な手順を使用して、NGINXWebサーバーをリバースプロキシとして構成する方法を説明します。この目的のために、私はubuntuサーバー20.04LTSにデプロイされたWebサイトを使用しました。これはメインサーバーとして機能するか、プロキシサーバーと言うことができます。 Nginx Webサーバーは、このチュートリアルでリバースプロキシとして構成する別のubuntuサーバー20.04LTSにデプロイされます。ローカルマシンには、Linux Mint 20.02がインストールされており、そこからリモート接続を形成します。
- Nginx Webサーバーの仮想マシンのIPアドレス:10.11.120.2
- 導入されたWebサイトの仮想マシンのIPアドレス:10.11.120.3
始めましょう!
ステップ1:NginxマシンへのSSH
最初のステップは、Nginxがインストールされているリモートマシンに接続することです。このマシンでは、Nginxをリバースプロキシとして構成します。これを行うには、Nginxをデプロイしているマシンのユーザー名とIPを追加して、以下のコマンドを実行します。私の場合、nginxと10.11.120.2です。
ssh [email protected]
ステップ2:事前構成されたNginx仮想ホストを無効にする:
次に、以下のコマンドを実行して、Nginx仮想ホストのデフォルト構成のリンクを解除します。
unlink /etc/nginx/sites-enabled/default
ステップ3:リバースプロキシ構成ファイルを作成する
次に、リバースプロキシ構成ファイルを作成します。
これを行うには、以下のコマンドに示されているパスに従って、sites-availableディレクトリに移動します。
cd /etc/nginx/sites-available
次に、リバースプロキシ構成ファイルを作成し、次のようにnanoエディターで開きます。
sudo nano example.conf
次の行をコピーして、作成したファイルに貼り付けます。
server { listen 80; server_name example.com; location / { proxy_pass http://10.11.120.3:80; } }
この構成は、Nginxリバースプロキシがポート80でリッスンしており、すべての着信接続要求をリダイレクトしていることを示しています。たとえば、10.11.12.3サーバーのポート80に向けたexample.com。
ステップ4:シンボリックリンクを作成してファイルをアクティブ化します
ここでは、ファイルを保存し、次のようなシンボリックリンクを作成してアクティブ化します。
sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
ステップ5:構成ファイルをテストする
リバースプロキシ構成ファイルのエラーをテストするときが来ました。これを行うには、次のコマンドを実行します。
sudo nginx -t
以下に示すように「構文は大丈夫です」というメッセージが表示された場合は、問題がないことを意味します。
ステップ6:Nginxを再起動します
最後のステップは、Nginx Webサーバーを再起動して、追加したばかりの新しいリバースプロキシ構成ファイルがNginxWebサーバーで構成されるようにすることです。これを行うには、次のコマンドを実行します。
sudo systemctl restart nginx
これで、マシンでWebブラウザーを開き、Webサイトを実行することでテストできます。 Nginxを介して10.11.120.3マシンにプロキシされます。
Webサイトが正常に動作している場合、これはNginxリバースプロキシが正常に構成されていることを意味します。おめでとう!あなたは素晴らしい仕事をしました!
このチュートリアルでは、構成ファイルを追加することで、NginxWebサーバーをリバースプロキシとして簡単に構成する方法を説明しました。これにより、メインサーバーをさまざまなサイバー攻撃から保護したり、メインサーバーを利用して着信する大量のトラフィックの負荷を分散したりできます。すべてあなた次第です。
Rocky Linux 8 / CentOS 8でLet’s EncryptSSLを使用してNginxサーバーブロックとSecureNginxを構成する方法については、次のURLにアクセスしてください。
https://linuxways.net/centos/how-to-configure-nginx-server-block-and-secure-nginx-with-lets-encrypt-ssl-on-rocky-linux-8-centos-8/