nginx における proxy_pass のさまざまな使用法の詳細な説明

nginx における proxy_pass のさまざまな使用法の詳細な説明

プロキシ転送ルール

nginx でロケーション プロキシ転送ルールを構成する場合、異なる書き込み方法は異なる転送ルールに対応します。

proxy_pass が URI を使用する場合、リクエストがバックエンド サーバーに送信されると、正規化されたリクエスト パスと構成内のパスの一致する部分が、ディレクティブで定義された URI に置き換えられます (以下の最初のケースに対応)。

proxy_pass が URI で使用されていない場合、バックエンド サーバーに送信される要求 URI は通常、クライアントによって開始された元の URI になります (以下の 2 番目のケース)。

アクセスアドレス: http://localhost/proxy/abc.html

一般的なマッチングのシナリオを次に示します。

最初のもの:

場所 /proxy/ {
プロキシパス http://127.0.0.1:8080/;
}

プロキシ先: http://127.0.0.1:8080/abc.html

2番目のタイプ:

場所 /proxy/ {
プロキシパス http://127.0.0.1:8080;
}

最初のproxy_passと比較すると、/が欠けている
プロキシ先: http://127.0.0.1:8080/proxy/abc.html

3番目のタイプ:

場所 /proxy/ {
プロキシパス http://127.0.0.1:8080/api/;
}

プロキシ先: http://127.0.0.1:8080/api/abc.html

4番目のタイプ:

場所 /proxy/ {
プロキシパス http://127.0.0.1:8080/api;
}

3番目未満/
プロキシ先: http://127.0.0.1:8080/apiabc.html

場所 /proxy {
プロキシパス http://127.0.0.1:8080/api;
}

プロキシ先: http://127.0.0.1:8080/api/abc.html

5番目:

場所 /proxy {
プロキシパス http://127.0.0.1:8080/;
}

プロキシ先: http://127.0.0.1:8080//abc.html
バックスラッシュが2つあることに注意してください //

場所 /proxy {
プロキシパス http://127.0.0.1:8080;
}

プロキシ先: http://127.0.0.1:8080/proxy/abc.html

以下は公式ドキュメントからの説明です:

httpプロキシ

NGINX-httpproxy モジュールの公式ドキュメント Alibaba tengine によって翻訳された中国語ドキュメント - 推奨される読み物

nginx での proxy_pass のさまざまな使用法に関するこの記事はこれで終わりです。nginx proxy_pass の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginx の場所と proxy_pass パスの設定の問題の概要
  • nginx proxy_pass 設定で URL が / で終わる場合と / なしで終わる場合の違いの詳細な説明
  • nginx の場所に複数の Proxy_pass メソッドがある
  • nginx リバース プロキシでの proxy_pass の実装
  • nginx の 2 つのモジュールの proxy_pass の違い

<<:  CSS3で跳ねるボールのアニメーションを実現

>>:  htmlはハイパーリンク付きの新しいウィンドウを開き、ウィンドウのプロパティを制御できます。

推薦する

折りたたまれたテーブル行要素のバグ

例を見てみましょう。コードは次の通り非常にシンプルです。コードをコピーコードは次のとおりです。 &l...

JavaScript プロトタイプの詳細

目次1. 概要1.1 プロトタイプとは何ですか? 1.2 プロトタイプを入手する2. プロトタイプの...

CentOS 7.0 (mysql-5.7.21) で複数の MySQL インスタンスを起動する方法

設定手順Linux システム: CentOS-7.0 MySQL バージョン: 5.7.21 Lin...

js を使用してシンプルなスイッチ ライト コードを実装する

体の部位: <button>ライトのオン/オフを切り替える</button>...

Docker 基本チュートリアル: Dockerfile 構文の詳細な説明

序文Dockerfile は Docker プログラムによって解釈されるスクリプトです。Docker...

Mac でソースコードから MySQL 5.7.17 をコンパイルしてインストールするチュートリアル

1. ダウンロードして解凍します: /Users/xiechunping/Softwares/mys...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

MySQL のインデックスとデータ テーブルを管理する方法

目次テーブルの競合を見つけて修正するインデックス統計の更新テーブルの競合を見つけて修正するデータ テ...

HTML で margin:0 auto を使用するとページ全体が中央に配置されない問題の解決方法

今日、jsp ページを書きました。<div style="margin:0 auto...

Linux DHCPサービスの詳細な説明

目次1. DHCP サービス (動的ホスト構成プロトコル) 1. 背景2. 概要3. 利点4.DHC...

Tomcat サービスに Java 起動コマンドを追加する方法

私の最初のサーバープログラム現在、オンラインゲームの書き方を学んでいるので、サーバーサイドのプログラ...

Nodejs のグローバル変数とグローバルオブジェクトの知識ポイントと使用方法の詳細

1. グローバルオブジェクトすべてのモジュールは呼び出すことができます1) global: ブラウザ...

ElementUIはカスケードセレクタを実装します

この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...

MySQL の遅いクエリの最適化方法と最適化の原則

1. 日付のサイズを比較するには、XML に渡される日付形式は 'yyyy-MM-dd...

DOSBox を起動後に自動的にコマンドを実行する方法

DOSBox を使用すると、Windows で DOS をシミュレートし、楽しい作業を行うことができ...