リバースプロキシ リバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザーに代わって内部サーバーへの要求を再開し、最終的に内部サーバーの応答情報をユーザーに返すことを指します。このように、プロキシ サーバーは外部からはサーバーのように見え、内部サーバーにアクセスするクライアントは実際の 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)
日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、...
ウェブサイトのアクセス速度を向上させるための徹底的な最適化に関するヒント。ウェブサイトのアクセス速度...
序文MySQL と Oracle のキーワードはまったく同じではありません。Oracle データベー...
序文以前、ローディングスタイルのコンポーネントを作成しました。コードの再利用性を実現するために、この...
目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...
<br />多くの中小企業ではこの問題は発生しません。中小企業はデザイナーをサポートし、...
1: openssl とは何ですか? その機能は何ですか?適用シナリオは何ですか? Baidu 百科...
JavaScript DOM を読み終えた後、解釈型 JavaScript スクリプト言語に対する...
最近、サーバー上のアカウントが2つハッキングされ、パスワードが改ざんされました。幸い、まだ使えるアカ...
異なるデータベースで DROP TABLE を書く方法1.MySQL 存在する場合はテーブルを削除 ...
1. インデックス不足または無効なインデックスによるクエリの遅延数千万件のデータを含むテーブルで、イ...
まず、フォントアイコンとは何でしょうか?表面的にはアイコンですが、実際はテキストです。テキストの設定...
目次frm ファイルと ibd ファイルの紹介frm ファイル回復テーブル構造ibd ファイル回復テ...
導入当社は、情報セキュリティと機密アプリケーションに関わるいくつかのプロジェクトの研究開発に従事して...
目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...