このステップバイステップのチュートリアルでは、セキュリティとパフォーマンスを向上させるためにNginxでリバースプロキシを簡単に設定する方法を説明します。
現在最も人気のあるリバースプロキシツールの1つはNginxです。 Nginx自体はWebサーバーですが、リバースプロキシとして機能する優れた機能を果たします。
リバースプロキシとは何ですか?
リバースプロキシは、内部アプリケーションと外部クライアントの間に位置し、クライアント要求を適切なサーバーに転送するサーバーです。
リバースプロキシサービスはフロントエンドとして機能し、すべての着信クライアントリクエストを処理し、それらをバックエンドWeb、データベース、またはその他のサーバーに配布します。
Nginxをリバースプロキシとして使用すると、いくつかの追加の利点があります。
- 負荷分散 – nginxは負荷分散を実行して、クライアントのリクエストをプロキシサーバー全体に分散し、パフォーマンス、スケーラビリティ、信頼性を向上させることができます。
- セキュリティの向上 –リバースプロキシを使用すると、クライアントはバックエンドサーバーに関する情報を入手できないため、悪意のあるクライアントが直接アクセスして脆弱性を悪用することはできません。クライアントの観点からは、これにより、すべてが1つの場所から来ているように見えます。
- パフォーマンスの向上 –リバースプロキシとしてNginxを使用すると、事前にレンダリングされたバージョンのページをキャッシュして、ページの読み込み時間を短縮できます。これは、プロキシサーバーの応答から受信したコンテンツをキャッシュし、それを使用して、毎回同じコンテンツについてプロキシサーバーに接続することなくクライアントに応答することで機能します。
- SSL終了 – nginxは、クライアントとの接続用のSSLエンドポイントとして機能できます。着信SSL接続を処理および復号化し、プロキシサーバーの応答を暗号化します。
Nginxを使用してリバースプロキシを設定する方法
1。 Nginxのインストール
Nginxは、インターネット全体に展開されている最も人気のあるWebサーバースイートです。 Webトラフィックを特定のサーバーに転送することにより、リバースプロキシサーバーとして機能できます。
さまざまなLinuxディストリビューションにNginxをインストールする方法を紹介します。
NginxをDebian、Ubuntu、Linux Mint、Kali、およびその他のDebianまたはUbuntu派生物にインストールするには、次のコマンドを実行します。
sudo apt update
sudo apt install nginx
Fedora、CentOS、Red Hat、およびその他のFedoraまたはRed Hatの派生物では、次のコマンドを実行します。
sudo dnf upgrade
sudo dnf install nginx
NginxをArchLinux、Manjaro、およびその他のArch派生物にインストールするには、次のコマンドを実行します。
sudo pacman -Syu
sudo pacman -S nginx
インストールが完了したら、ソフトウェアのバージョンを確認することで、Nginxが正しくインストールされていることを確認できます。次のように入力します:
nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
2。 Nginxの構成
example.com
にプライマリサイトをインストールしました Nginxを実行しているのと同じサーバー上のドメイン名。ただし、WordPressブログサイトはblog.example.com
にインストールされています。 IPアドレス127.0.1.10
を持つ別のサーバー上のサブドメイン 。
blog.example.com
のリクエストをプロキシするために、Nginxでリバースプロキシを構成する必要があります すべてのリクエストが127.0.1.10
に転送されるようにサブドメイン 。これを行うには、以下に示す手順に従います。
1.デフォルトの事前構成されたNginx仮想ホストを無効にします:
unlink /etc/nginx/sites-enabled/default
2.ディレクトリ/etc/nginx/sites-available
を入力します リバースプロキシ構成ファイルを作成します。
cd /etc/nginx/sites-available
sudo vim example.conf
次のNginx構成を貼り付けます。
server {
listen 80;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
}
server {
listen 80;
server_name blog.example.com;
location / {
proxy_pass http://127.0.1.10:80;
}
}
ご覧のとおり、引き続きexample.com
を実行できます。 同じNginxインスタンス上にありますが、Nginxはすべての着信接続をblog.example.com
にリダイレクトします ポート80
127.0.1.10
へ サーバー、ポート80
でリッスン 。
3.ファイルを保存し、シンボリックリンクを作成してアクティブ化します:
sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/
4.構成エラーがないかNginxをテストします:
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
5.エラーがない場合は、変更を有効にするためにNginxを再起動します。
sudo systemctl restart nginx
Webブラウザーを起動し、WordPressブログのURLにアクセスします。 Nginxを介して127.0.1.10
にプロキシされます 、WordPressブログをホストしています。
おめでとうございます。リバースプロキシとして機能するようにNginxを正常に設定できました。これで、ターゲットサーバーに向かうはずのトラフィックをリバースプロキシサーバーに転送できます。リバースプロキシサーバーは、正しい宛先に到達します。
Nginxのディレクティブの詳細なインデックスで、すべてのリバースプロキシディレクティブの詳細を確認できます。
結論
これで、Nginxを使用してリバースプロキシを設定する方法がわかりました。ご覧のとおり、Nginxリバースプロキシ構成は単純なプロセスです。ただし、もちろん、インストールと構成には多くの方法があり、要件に完全に依存します。