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文のパフォーマンスを分析するための標準的な要約

推薦する

UI を通じて Docker を管理する方法

Docker はますます多くのシナリオで使用されています。コマンドラインツールに慣れていない人にとっ...

SQLはROW_NUMBER() OVER関数を使用してシーケンス番号を生成します。

構文: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY...

Dockerで最もよく使われるイメージコマンドとコンテナコマンドの詳細な説明

この記事では、Docker の使用で最もよく使用されるイメージ コマンドとコンテナ コマンドを一覧表...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

CSS の歪んだ影の実装コード

この記事では、CSS ワープ シャドウの実装コードを紹介し、皆さんと共有します。詳細は以下の通りです...

wavesurfer.js によるオーディオ波形描画の実装

1. レンダリングを見る進むを選択: 後方を選択: コードは次のとおりです(例): <テンプレ...

Nginxにモジュールを動的に追加する方法

前面に書かれた多くの場合、現在のプロジェクトの状況とビジネスニーズに基づいて Nginx をインスト...

Nginxのアクセスボリューム制御の詳細な説明

目的リクエスト アクセス ボリュームを制御するための Nginx ngx_http_limit_co...

Linux CentOS でスクリプトを定期的に実行するように設定する方法

多くの場合、サーバーでスクリプトを定期的に実行して操作をトリガーする必要があります。たとえば、Qin...

美しいHTMLコードの書き方

美しい HTML コードの外観 美しい HTML コードの書き方。外国人が書いた記事: 美しい HT...

mysql インストーラ コミュニティ 8.0.12.0 インストール グラフィック チュートリアル

このチュートリアルでは、参考のためにmysqlインストーラコミュニティ8.0.12.0のインストール...

Jenkinsはマイクロサービスをパッケージ化してDockerイメージを構築し、実行します。

目次環境の準備始める1. GitLabリモートリポジトリがマイクロサービスプロジェクトを作成する2....

ウェブサイトのカラースキーム ウェブサイトに適した色の選択

色はウェブサイト訪問者に影響を与えますか?数年前までは、ウェブサイトはまだ贅沢品でしたが、今ではほと...

Vueでファジークエリを実装する方法の簡単な例

序文いわゆるファジークエリとは、ユーザーの完全な入力やすべての入力情報がなくてもクエリサービスを提供...