GNU/Linux >> Linux の 問題 >  >> Ubuntu

NGINXをリバースプロキシとして設定および使用する方法

リバースプロキシとは何ですか?

標準のプロキシサーバーは、多くの場合プライバシーを提供したりコンテンツをフィルタリングしたりすることで、クライアントに代わって機能します。リバースプロキシはサーバーに代わって機能し、トラフィックを傍受して別のサーバーにルーティングします。

リバースプロキシをインストールする理由はいくつかあります。主な理由の1つはプライバシーです。

複数のサーバーがある場合、リバースプロキシは、サーバー間の負荷を分散し、パフォーマンスを向上させるのに役立ちます。リバースプロキシはクライアントに単一の連絡先を提供するため、複数のサーバー間でログとレポートを一元化できます。

Nginxは、静的コンテンツをすばやく提供し、動的コンテンツ要求をApacheサーバーに渡すことで、パフォーマンスを向上させることができます。

このガイドは、システムにNginxリバースプロキシをインストールして構成するのに役立ちます。

前提条件

  • Apache、PHP、およびファイアウォールを備えたLinuxサーバー
  • sudoを使用したrootユーザーへのアクセス アクセス
  • Linuxコマンドラインまたはターミナル( Ctrl Alt T Ubuntuの場合、 Alt f2 CentOSの場合)
  • パッケージマネージャー(APTなど)

Nginxリバースプロキシの設定

ステップ1:デフォルトのリポジトリからNginxをインストールする

ターミナルウィンドウを開き、次のように入力します。

sudo apt-get update

パッケージマネージャーがソフトウェアリストの更新を終了できるようにしてから、次のように入力します。

sudo apt-get install nginx

プロセスが完了するのを待ちます。

ステップ2(オプション):公式リポジトリからNginxをインストールする

セキュリティキーを追加

ターミナルウィンドウで、次のように入力します。

sudo wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

これにより、Nginxの署名キーがダウンロードされ、本物のソフトウェアをダウンロードしていることが確認されます。

sources.listを開きます 編集用ファイル

ターミナルで、次のように入力します。

sudo vi /etc/apt/sources.list

リポジトリリストにNginxソースを追加

/etc/apt/sources.listに次の行を入力します 開いたばかりのファイル:

deb https://nginx.org/packages/mainline/debian/ <CODENAME> nginx

deb-src https://nginx.org/packages/mainline/debian/ <CODENAME> nginx

<CODENAME>を置き換えます Debianのディストリビューションのコードネームを使用します。

保存 ファイルと終了

Nginxの最新リリースをインストールする

Nginxの最新リリースをインストールするには、次のコマンドを使用します:

sudo apt-get remove nginx-common
sudo apt-get update
sudo apt-get install nginx

ステップ3:Nginxを起動し、再起動時に起動するように構成する

Nginxを起動するには:

sudo systemctl start nginx

Nginxを有効にするには:

sudo systemctl enable nginx

Nginxが実行されていることを確認するには:

sudo systemctl status nginx

出力には、サービスがアクティブ(実行中)であることが示されます。 、下の画像のように:

ステップ4:デフォルトの構成ファイルのリンクを解除する

ターミナルで、次のように入力します。

sudo unlink /etc/nginx/sites-enabled/default

ステップ5:新しい構成ファイルを作成する

新しい構成ファイルを作成するには、次のように入力します。

cd /etc/nginx/sites-available/
sudo vi custom_server.conf

custom_serverを置き換えます あなたにとって意味のある名前で。新しいファイルに次のように入力します:

server {

listen 80;

location / {

proxy_pass http://my_server;

}

}

これは非常に基本的なNginxリバースプロキシの例です。 Nginxは、すべてのトラフィックについてポート80のすべてのトラフィックをリッスンするように設定されています。

proxy_pass コマンドは、ポート80のすべてのトラフィックを http://my_serverに転送します http://my_serverを変更するだけです 選択した場所に移動すると、Nginxはクライアントのリクエストをインターセプトし、指定した場所にルーティングします。終了したら、ファイルを保存して終了します。

ステップ6:構成ファイルをリンクしてアクティブ化する

新しいNginxファイルをアクティブ化するには、次のように入力します。

ln -s /etc/nginx/sites-available/custom_server.conf 
/etc/nginx/sites-enabled/custom_server.conf

いつものように、 custom_serverを置き換えます 手順5で作成した構成ファイルの名前を使用します。

ステップ7:Nginxをテストして再起動する

Nginxをテストするには:

sudo service nginx configtest

Nginxを再起動するには:

sudo service nginx restart

オプションのNginx構成オプション

プロキシバッファ

デフォルトでは、Nginxはプロキシするサーバーのトラフィックをバッファリングします。バッファは、クライアントが完全な応答の送信を完了するまでサーバー応答が送信されないため、サーバーのパフォーマンスを向上させます。

バッファをオフにするには、手順5の構成ファイルを開きます。場所/セクションの下 、以下を追加します:

proxy_buffering off;

リクエストヘッダー

ヘッダーは、行われたリクエストまたはクライアントに関するサーバー情報を提供します。

Nginxは、次の2つのヘッダーフィールドを再定義します: host $proxy_host用に構成されています 、およびconnection close用に構成されています 。これらのヘッダーを使用する場合は、構成ファイルの動作を必ず変更してください。

ヘッダー文字列が空の場合、Nginxはそれらのフィールドを削除するだけです。

Nginxがヘザーを処理する方法を変更するには、構成ファイルで次のコマンドを使用します。

location / {

proxy_set_header Host $host;

}

この例では、Nginxにhostを設定するように指示しています $host 変数。

ヘッダーフィールドがプロキシサーバーに渡されないようにするには、次のように空の文字列を使用します。

location / {

proxy_set_header header-variable "";

}

負荷分散

構成ファイルを使用して、トラフィックを複数のサーバーにルーティングできます。この構成を使用するには、構成ファイルは次の例のようになります。

http   {

server   {

proxy_pass http://my_server

}

}

つまり、HTTP構成はステップ5のサーバー構成の外に出ます。

サーバーのグループの名前を作成するには、upstreamを使用します コマンド:

http   {

upstream server_group   {

server my.server1.com weight=3;

server my.server2.com;

}

server  {

location / {

proxy_pass http://server_group;

}

}

}

この指定には2つのサーバーが必要です– my.server1.com およびmy.server2.com –そしてそれらを一緒にバンドルします。 Nginxは、 http://server_groupという名前でサーバーのグループをプロキシします 。名前は任意に変更できます。

この例では、 weightを使用しています 3つのリクエストをmy.server1.comにルーティングするコマンド 、次に my.server2.comへの1つのリクエスト 。これは、サーバー間でクライアントの負荷を手動で分散するための1つのオプションです。もう1つの方法は、指定を単純に省略することです。この場合、Nginxは、リストされたサーバー間でリクエストを均等にラウンドロビンします。


Ubuntu
  1. Nginxリバースプロキシを設定する方法

  2. Ubuntu 20.04でリバースプロキシとしてNginxを設定する-ステップバイステップガイド?

  3. プロキシを永続的に使用するように curl を設定するにはどうすればよいですか?

  1. KibanaのNginxリバースプロキシを構成する方法

  2. DockerにNGINXリバースプロキシをデプロイする方法

  3. Ubuntu20.04でリバースプロキシとしてNginxを設定する方法

  1. Ubuntu16.04にNginxをインストールする方法

  2. Ubuntu16.04LTSにNginxを使用してVarnishリバースプロキシをインストールする方法

  3. Ubuntu15.10でApacheのリバースプロキシとしてNginxをインストールする方法