ホームページ  >  記事  >  運用・保守  >  Nginx リバースプロキシ構成を実装する方法

Nginx リバースプロキシ構成を実装する方法

王林
王林オリジナル
2023-11-08 15:07:531242ブラウズ

Nginx リバースプロキシ構成を実装する方法

Nginx リバース プロキシ構成を実装するには、特定のコード サンプルが必要です。

Nginx は、高性能のオープン ソース Web サーバーおよびリバース プロキシ サーバーです。実際のアプリケーションでは、Nginx をリバース プロキシとして使用して、ロード バランシング、キャッシュ、SSL ターミナル プロキシなどの機能を実装することがよくあります。この記事では、Nginxのリバースプロキシの設定方法と具体的なコード例を紹介します。

  1. Nginx のインストール

まず、Nginx をインストールする必要があります。パッケージ マネージャー (apt-get、yum など) を介してインストールすることも、公式 Web サイトからソース コードをダウンロードしてコンパイルしてインストールすることもできます。 Ubuntu を例として、apt-get を通じて Nginx をインストールします。

sudo apt-get update
sudo apt-get install nginx
  1. リバース プロキシの構成

Nginx 構成ファイルで、リバース プロキシ構成を構成する必要があります。 。 Nginx 構成ファイルは通常、/etc/nginx/nginx.conf または /etc/nginx/conf.d/default.conf にあります。構成ファイルを変更する前に、元の構成をバックアップすることをお勧めします。

設定ファイルを開き、http ノードを見つけて、そのノードの下に次の設定を追加します:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

上記の設定では、listen は Nginx がリッスンするポート (たとえば、80) を指定します。 )、server_name はプロキシのドメイン名 (たとえば、example.com) のリバース ポートを指定します。 location ノードでは、リバース プロキシのアドレス (http://backend_server など) を設定し、proxy_set_header ディレクティブを使用して HTTP リクエスト ヘッダー情報を渡します。

  1. バックエンド サーバーの構成

構成ファイルでは、リバース プロキシ アドレスとして http://backend_server を使用します。ここで、backend_server を実際のバックエンド サーバーのアドレスに置き換える必要があります。

バックエンド サーバーのアドレスを指定するには、さまざまな方法があります。一般的な方法は次の 2 つです:

#A. IP アドレスとポートを使用する

proxy_pass http://192.168.1.100:8000;

B. ドメイン名とポートを使用する

proxy_pass http://backend.example.com:8000;

#Nginx
    # を再起動する
  1. ##構成が完了したら、構成ファイルを保存し、Nginx を再起動して構成を有効にします。
  2. sudo service nginx restart

リバース プロキシを確認します

  1. 次に、 Nginx がリッスンするポート (たとえば、80) にアクセスして、リバース プロキシが有効かどうかを確認できます。ブラウザまたはcurlコマンドを介してhttp://example.comにアクセスすると、バックエンドサーバーから返されたコンテンツを取得できるはずです。

高度な構成

  1. 基本的なリバース プロキシ構成に加えて、Nginx はリバース プロキシのパフォーマンスと機能をさらに最適化するための多くの高度な構成オプションも提供します。一般的に使用される高度な構成例は次のとおりです:
  2. #A. ロード バランシング
upstream backend_servers {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

B. キャッシュ

http {
    ...

    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;

    server {
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://backend_server;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;

            proxy_cache my_cache;
            proxy_cache_valid 200 302 60m;
            proxy_cache_valid 404 1m;
        }
    }

    ...
}

C. SSL ターミナル プロキシ

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        proxy_pass http://backend_server;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

上記例 これは Nginx リバース プロキシ構成の基本的な使用法と一般的なシナリオにすぎず、すべてを網羅しているわけではありません。複雑なアプリケーション シナリオの場合、必要に応じて Nginx の構成項目とモジュールを深く理解し、その強力な機能を柔軟に使用して、必要なプロキシと最適化戦略を実装できます。

概要

この記事では、Nginx リバース プロキシ構成を実装する方法を紹介し、具体的なコード例を示します。 Nginx のリバース プロキシを通じて、負荷分散、キャッシュ、SSL ターミナル プロキシなどの機能を実装し、Web アプリケーションのパフォーマンスと信頼性を向上させることができます。この記事が、Nginx を初めて使用する読者にとって役立つことを願っています。

以上がNginx リバースプロキシ構成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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