リバースプロキシ リバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザーに代わって内部サーバーへの要求を再開し、最終的に内部サーバーの応答情報をユーザーに返すことを指します。このように、プロキシ サーバーは外部からはサーバーのように見え、内部サーバーにアクセスするクライアントは実際の Web サイト アクセス ユーザーの代わりにプロキシ サーバーを使用します。 リバースプロキシを使用する理由
リバースプロキシの例 環境説明 2 つのサーバー AB があるとします。サーバー A は Web リソースを提供し、イントラネットからのみアクセスできます。サーバー B には 2 つのネットワーク カードがあり、1 つはサーバー A と同じイントラネット内にあり、もう 1 つは外部ネットワーク内にあります。この時点では、ユーザー C がサーバー A に直接アクセスすることはできません。このとき、ユーザー C のリクエストはサーバー B を介してアクセスできます。
仮想ホストの設定 moli-04 マシン上の仮想ホスト構成ファイルを編集します。内容は次のとおりです。 [root@moli-04 extra]$ cat blog.syushin.org.conf サーバ{ 聞く 80; サーバー名 blog.syushin.org; 位置 / { プロキシパス http://192.168.30.7; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ホストファイルを変更する Windowsのhostsファイルを変更し、設定を追加する 192.168.93.129 ブログ ブラウザテスト アクセスアドレスは192.168.93.129で、インターフェースにマシン05のページが表示され、設定は成功しています。 負荷分散 負荷分散機能
負荷分散クラスターが実行中の場合、通常、1 つ以上のフロントエンド ロード バランサーを介して、クライアント アクセス要求がバックエンド サーバーのグループに送信されます。 Nginx 負荷分散 厳密に言えば、Nginx は Nginx Proxy のリバースプロキシとしてのみ使用されますが、このリバースプロキシ機能の効果は負荷分散マシンの効果であるため、nginx ロードバランシングは特殊なリバースプロキシです。 Nginx 負荷分散を実装するための主なコンポーネントは次のとおりです。
アップストリームモジュールの紹介 ngx_http_upstream_module モジュールでサポートされているプロキシ方式には proxy_pass、fastcgi_pass などがあり、主に proxy_pass が使用されます。 アップストリーム モジュールを使用すると、nginx は 1 つ以上のノード サーバー グループを定義できます。これを使用すると、Web サイト リクエストは proxy_pass プロキシを介して定義された対応するノード グループに送信されます。 例: ノード サーバー プールの作成 アップストリームブログ サーバー 192.168.30.5:80 重み=5; サーバー 192.168.30.6:81 重み=10; サーバー 192.168.30.7:82 重み=15; } 重みに加えて、ノード サーバーのステータス値を次のように設定することもできます。 ドメイン名をアップストリームで使用する アップストリームブログ2{ サーバー www.syushin.com weight=5; サーバー blog.syushin.org がダウンしました。 サーバー blog.syushin.cc のバックアップ; } スケジューリングアルゴリズム rr ポーリング (デフォルトのスケジューリング アルゴリズム、静的スケジューリング アルゴリズム) クライアント要求の順序に従って、クライアント要求を異なるバックエンド ノード サーバーに 1 つずつ分散します。 wrr (重み付けラウンドロビン、静的スケジューリング アルゴリズム) 重みは rr ポーリングに基づいて追加されます。このアルゴリズムを使用する場合、重みはユーザー アクセスに比例します。重みの値が大きいほど、転送されるリクエストが多くなります。 上流プール{ サーバー 10.0.0.1 重み=1; サーバー 10.0.0.2 重み=2; } ip_hash (静的スケジューリングアルゴリズム) 各リクエストは、クライアント IP のハッシュ結果に従って割り当てられます。新しいリクエストが到着すると、クライアント IP は最初にハッシュ アルゴリズムによって値にハッシュされます。後続のクライアント リクエストでは、クライアント IP のハッシュ値が同じである限り、同じサーバーに割り当てられます。 アップストリームブログプール{ ip_ハッシュ; サーバー 192.168.30.5:80; サーバー 192.168.30.6:8090; } 注意: ip_hash を使用する場合、重みとバックアップは許可されません。 least_connアルゴリズム least_conn アルゴリズムは、バックエンド サーバーへの接続数に基づいて分散を決定し、接続数が最も少ないサーバーに、より多くのリクエストが割り当てられます。 上記に挙げた(一般的に使用される)スケジューリング アルゴリズムの他にも、ここでは 1 つ 1 つ挙げていない多くのアルゴリズムがあります。 http_proxy_module モジュール http_proxy_module はリクエストを別のサーバーに転送できます。リバース プロキシでは、指定された URI が location 関数を通じて照合され、一致する URI に一致するリクエストが proxy_pass を通じて定義された上流ノード プールにスローされます。 http_proxy モジュールのパラメータ
Proxy_pass の使用法 形式: proxy_pass URL; 次に例を示します。
URL はドメイン名、IP アドレス、またはソケット ファイルになります。 proxy_pass 設定に関して注意すべき点がいくつかあります。
例2
例3
例4
server_name が blog.syushin.com の場合、http://blog.syushin.com/uploa... をリクエストすると、上記の例 1-4 のリクエスト結果は次のようになります。
さて、今回の記事は以上です。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL の binlog_format モードと設定の詳細な分析
>>: Amap を使用した React 実装例 (react-amap)
昨日、円形のプログレスバー (Vue 円形プログレスバーを参照してください) についてブログを書きま...
前回の記事では、Promise を使用して小さなプログラム wx.request をカプセル化する実...
前回の記事では、HTML ページが 3 秒後に自動的にジャンプする一般的な 3 つの方法を紹介しまし...
目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...
目次1. オプションの連鎖演算子 [? .】 2. 論理的な空の代入 (?? =) 3. 論理和代入...
Web ページ上の色の表現は、さまざまな要因によって影響を受けます。Web ページで非常に美しい配色...
最近、プロジェクトを進める過程で、ページの階層構造を描画するために iframe を頻繁に使用する必...
WEB アプリケーションのページでは、テーブルがよく使用されます。列の数が限られているため、各列のコ...
垂直方向では、ヘッダーの配置を上、中央、下に設定できます。基本的な構文構文Top は上、Middle...
結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...
目次導入ログ分類パラメータファイルエラーログファイル完全なログファイルスロークエリログバイナリログフ...
フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...
まず、ページにビデオを埋め込むための HTML コードは次のとおりです。コードをコピーコードは次のと...
目次フロントエンド上記のアイデアに従って、ページめくり機能を設計して記述します。バックエンド(Jav...
仕える: # chkconfig --list すべてのシステム サービスを一覧表示します # ch...