NginxのGeoモジュールの紹介 geo ディレクティブは、ngx_http_geo_module モジュールによって提供されます。デフォルトでは、--without-http_geo_module が指定されていない限り、nginx はこのモジュールをロードします。 ngx_http_geo_module モジュールを使用すると、クライアントの IP アドレスに応じて値が異なる変数を作成できます。使い方は次のとおりです: geo ディレクティブの構文: geo [$address] $variable { ... } デフォルト値: - 構成セクション: http 指定された変数からクライアントの IP アドレスを取得する方法を定義します。デフォルトでは、nginx は $remote_addr 変数からクライアント IP アドレスを取得しますが、他の変数から取得することもできます。 /usr/local/nginx/conf/nginx.confファイルに次の設定を追加します。geo $geo { 範囲; #アドレスをアドレス セグメントの形式で使用します。このパラメータは最初に配置する必要があります default dn; ip_geo.conf をインクルードします。 } アップストリーム wuhan.server { サーバー 192.168.155.98:8081; } アップストリーム上海サーバー{ サーバー 192.168.155.98:8082; } アップストリーム shenzhen.server { サーバー 192.168.155.98:8083; } アップストリームdn.server { サーバー 192.168.155.98:8084; } サーバー{ 聞く 80; サーバー名 192.168.155.98 jiaoyu.media.cloudp.cc; ルートhtml; インデックス index.html index.htm; 場所 ~* \.xml$ { ルート /data/video; } 位置 / { proxy_redirect オフ; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For プロキシサーバにXを転送します。 proxy_pass http://$geo.server$request_uri; } } サーバー{ 聞く 8081; サーバー名 192.168.155.98; 位置 / { ^ $scheme://192.168.155.106$request_uri? を永久に書き換えます。 } } サーバー{ 聞く 8082; サーバー名 192.168.155.98; 位置 / { ^ $scheme://192.168.155.107$request_uri? を永久に書き換えます。 } } サーバー{ 聞く 8083; サーバー名 192.168.155.98; 位置 / { ^ $scheme://192.168.155.109$request_uri? を永久に書き換えます。 } } サーバー{ 聞く 8084; サーバー名 192.168.155.98; 位置 / { ^ $scheme://jiaoyu.dn.cloudp.cc$request_uri? を永久に書き換えます。 } } IP 領域を分割するには、/usr/local/nginx/conf/ の下に ip_geo.conf ファイルを追加します。分割時に IP が重複しないように注意してください。重複すると、「重複」エラーが報告されます。 vim /usr/local/nginx/conf/ip_geo.conf 192.168.128.6-192.168.128.10 武漢; 192.168.128.11-192.168.128.15 上海; 192.168.128.16-192.168.128.20 深セン; IP アドレスを 10.2.0.0/16 wuhan の形式でセグメント化することもできるため、nginx.conf で範囲ディレクティブを使用して定義する必要はありません。 Nginx_geo モジュールを使用して CDN スケジューリングを実装する上記の設定方法は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: mysql 5.7.23 winx64 解凍バージョンのインストールチュートリアル
エンジニアリング構造プロジェクトは2つの部分に分かれています。bilibili-apiはAPIインタ...
目次負荷分散に nginx を使用するための 2 つのモジュール:アップストリームはロードノードプー...
Docker は、次の CentOS バージョンでの実行をサポートしています。 • CentOS 7...
この記事の例では、vue検証コードコンポーネントで使用される具体的な実装コードを参考までに共有してい...
概要この記事は、ゲームビジネスアーキテクチャに関連するコンテンツの紹介から始まります。ゲームビジネス...
Web ページのアクセシビリティは、フロントエンドでのみ評価および実装できるもののようです。ユーザビ...
最近、テスト サーバーのオペレーティング システムを Cent0S 7.5 にアップグレードし、Py...
目次パーサーとプリプロセッサクエリオプティマイザーMySQL クエリの最適化には、解析、前処理、最適...
MySQL 8 の公式バージョン 8.0.11 がリリースされました。公式発表によると、MySQL ...
今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...
序文私たちのビジネスがまだ初期段階にあり、同時実行の度合いが比較的低い場合、数年間はデッドロックの問...
目次シャロークローニングとディープクローニングとは何ですか? 1. アレイのクローンを作成する1.1...
目次序文以前のバージョンイテレータパターンイテレータファクトリ関数イテレータプロトコル最後に序文多く...
この記事では、テーブル構造操作やフィールド操作など、MySQL データ テーブルの基本的な操作につい...
おすすめの読み物: Navicat12.1シリーズのクラッキングとアクティベーションのチュートリアル...