NginxはURLのパスに応じてアップストリームに動的に転送します

NginxはURLのパスに応じてアップストリームに動的に転送します

Nginx では、URL のパス パラメータに基づいて、到達不可能なアップストリームに動的に転送する必要がある高度なシナリオがいくつかあります。

シナリオ1

/svr1/xxxx?yyy は svr1:8080/xxxx?yyy に転送されます

/svr2/xxxx?yyy は svr2:8080/xxxx?yyy に転送されます

構成は次のとおりです。

場所 ~* /(srv[1-9]+)/(.*)$ {
  すべて許可する。
  proxy_pass http://$1/$2$is_args$args; 
  proxy_set_header ホスト $host;                         
  proxy_set_header x-forwarded-for $forwarded_addr;                                
}

アップストリーム srv1 {                                                   
   サーバー srv1-ip:8080;
}
      
アップストリーム srv2 {                                                   
   サーバー srv2-ip:8080;
}

シナリオ2

svc1 の下には 3 つのピア サービス srv1、2、3 があります。/svc1/xxxx?yyy は srv1/2/3:8080/xxxx?yyy に転送されます。

svc2 の下には 3 つのピア サービス srv4、5、6 があります。/svc2/xxxx?yyy は svr4/5/6:8080/xxxx?yyy に転送されます。

場所 ~* /(svc[1-9]+)/(.*)$ {                             
  すべて許可する。                                  
  proxy_pass http://$1/$1/$2$is_args$args;                   
  proxy_set_header ホスト $host;
  proxy_set_header x-forwarded-for $forwarded_addr;                   
}

アップストリーム svc1 {
  サーバー srv1:8080;   
  サーバー srv2:8080;   
  サーバー srv3:8080;                
}

アップストリーム svc2 {
  サーバー srv3:8080;   
  サーバー srv4:8080;   
  サーバー srv5:8080;                
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • nginx を使用して正規表現で指定された URL リクエストを傍受する方法
  • nginx を使用して特定のインターフェース (URL) をブロックする方法
  • URLに基​​づいてリクエストを転送するnginxの実装の実践経験
  • nginx proxy_pass リバース プロキシ設定で URL の後に / を追加する場合と追加しない場合の違いの紹介
  • Nginx で中国語の URL が使用できない問題の解決策
  • nginx 設定 URL リダイレクト - リバース プロキシの詳細な説明
  • URLパラメータに応じたnginxの書き換えと場所の詳細な説明
  • Nginx サーバーで URL リンクを設定する方法

<<:  WeChat アプレット計算機の例

>>:  SQL文のパフォーマンスを分析するための標準的な要約

推薦する

MySQL学習データベース検索文DQL小百章

目次1. データの簡単な取得2. データの並べ替えと取得2.1. 基本構文2.2. ソート方向を指定...

docker compose の記述ルールについての簡単な説明

この記事ではクラスタの展開に関連する内容は紹介しませんバージョン制約Docker エンジン >...

Vue は Websocket カスタマー サービス チャット機能を実装します

この記事では主に基本的なチャットの実装方法を紹介します。今後は絵文字や写真のアップロードなどの機能も...

重複リクエストを削除するAxiosのソリューションについての簡単な説明

目次1. 重複したリクエストをキャンセルする2. すべてのリクエストをクリーンアップするこのソリュー...

React は antd のアップロード コンポーネントを使用してファイル フォーム送信機能を実装します (完全なコード)

私はプロジェクトを実行するために react を使い始めたばかりで、非常に未熟で完全な初心者です。私...

jsを使用してシンプルな弾幕スクリーンシステムを実装する

この記事では、弾幕効果を実現するためのネイティブjsの具体的なコードを参考までに共有します。具体的な...

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

Dockerコンテナシェルスクリプトの実行ステータスを監視する方法

シナリオ会社のプロジェクトはDockerでデプロイされています。原因不明ですが、コンテナが時々停止し...

ゲームの Node.JS バージョンを作成する方法

目次概要ビルドプロセス関連APIリードライン基本的な使い方チョーククリア手順に関する追加情報完全なコ...

Vueモバイル端末の適応化問題の詳細説明

1. vue uiでプロジェクトを作成する 2. 基本設定項目を選択する 3. プロジェクトを実行す...

MySql クイック挿入数千万の大規模データの例

データ分析の分野では、データベースは私たちの強力な助けとなります。クエリ時間を受け入れるだけでなく、...

HTML H タイトルタグの使用

H タグ、特に h1 タグの使用は常に議論の的となっている問題であり、私たちが研究する価値のある問題...

グリッドはページのレイアウトプランです

<br /> 英語原文: http://desktoppub.about.com/od/...

Vue2.x - アンチシェイクとスロットリングの使用例

目次ユーティリティ: vue での使用:説明する:画像安定化:スロットル:ユーティリティ: // 手...

Nginx シグナル制御

Nginx の紹介Nginx は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...