nginx proxy_pass 設定で URL が / で終わる場合と / なしで終わる場合の違いの詳細な説明

nginx proxy_pass 設定で URL が / で終わる場合と / なしで終わる場合の違いの詳細な説明

nginx が proxy_pass を設定する場合、末尾に "/" がある URL と末尾に "/" がない URL の違いは次のようになります。

注: location が正規表現の一致パターンである場合、proxy_pass 内の URL の末尾に「/」を付けることは許可されないため、正規表現の一致パターンは説明の範囲外となります。

proxy_pass 設定の URL が / で終わる場合、nginx が転送するときに、元の URI から場所の一致式が削除され、proxy_pass の URL に追加されます。

テストアドレス: http://192.168.171.129/test/tes.jsp

シナリオ 1:

場所 ^~ /test/ {
 プロキシパス http://192.168.171.129:8080/server/;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/server/tes.jsp

シナリオ2:

場所 ^~ /test {
 プロキシパス http://192.168.171.129:8080/server/;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/server//tes.jsp

シナリオ3:

場所 ^~ /test/ {
 プロキシパス http://192.168.171.129:8080/;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/tes.jsp

シナリオ4:

場所 ^~ /test {
 プロキシパス http://192.168.171.129:8080/;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080//tes.jsp

proxy_pass 設定の URL の末尾に / がない場合、URL にパスが含まれていなければ、元の URI が proxy_pass の URL の後に直接連結されます。URL にパスが含まれている場合は、場所の一致式と proxy_pass の URL を削除した後に元の URI が連結されます。

テストアドレス: http://192.168.171.129/test/tes.jsp

シナリオ 1:

 場所 ^~ /test/{
 プロキシパス http://192.168.171.129:8080/server;
 }

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/servertes.jsp

シナリオ2:

場所 ^~ /test {
 プロキシパス http://192.168.171.129:8080/server;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/server/tes.jsp

シナリオ3:

場所 ^~ /test/ {
 プロキシパス http://192.168.171.129:8080;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/test/tes.jsp

シナリオ4:

場所 ^~ /test {
 プロキシパス http://192.168.171.129:8080;
}

プロキシ後の実際のアクセス アドレス: http://192.168.171.129:8080/test/tes.jsp

これで、nginx proxy_pass の URL 末尾の有無の違いに関するこの記事は終了です。nginx proxy_pass URL 末尾の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

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

<<:  js での Object.create インスタンスの使用法の詳細な説明

>>:  HTMLフォーム入力監視の詳細な理解

推薦する

Nginx 運用保守ドメイン名検証方法例

インターフェイス ドメイン名を構成する際、各パブリック プラットフォームはドメイン名に対する開発者の...

Vue3 における computed の新しい使用例のまとめ

vue3 での computed の使い方。vue3 は vue2 のオプション API と互換性が...

Dockerを使用してコンテナリソースを制限する方法

覗き見の問題サーバーでは、IIS サービスが複数のサイトを展開していると仮定すると、サイトの 1 つ...

Vue3 リストインターフェースデータ表示の詳細

目次1. リストインターフェースの表示例2. データを表示する2.1. コンポーネントがリストに表示...

Linux ファイアウォール設定の詳細な手順 (yum ウェアハウス設定に基づく)

序文この実験では、デバッグ用に2つの仮想マシン(CentOs6とRed Hat 6)を準備します。 ...

Linux で tcpdump コマンドを使用してデータ パケットをキャプチャおよび分析する方法の詳細な説明

序文tcpdump はよく知られたコマンドライン パケット分析ツールです。 tcpdump コマンド...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

CentOS7.6にMYSQL8.0をインストールする詳細な手順

1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...

携帯電話向けウェブページ作成のヒント

現在では多くの人がスマートフォンを使用していることを考慮すると、モバイル Web ページの書き方は、...

MySql ページングで limit+order by を使用する場合のデータ重複の解決策

目次まとめ問題の説明問題を分析する問題を解決するまとめ複雑な知識をシンプルに説明できることは重要です...

Vue バックエンド管理システムのページング機能の実装例

この記事では、主に Vue バックグラウンド管理システムのページング機能の実装を紹介し、次のように共...

シェルスクリプトは、Docker の半自動コンパイル、パッケージ化、およびリリースアプリケーション操作を構築します。

Docker 公開方法は、DevOps (送信、コンパイル、パッケージ化、リリースなどの一連のイベ...

Nginx サービスを使用してサブドメイン環境を構築し、2D マップの読み込みパフォーマンスを向上させる方法を説明します。

1. 背景最近、友人が大規模なマップの読み込みが遅いという問題に遭遇しました。iServer のパ...

CSSポジションの5つの異なる値の使い方の詳細な説明

位置プロパティposition プロパティは、要素に使用する配置方法のタイプ (静的、相対的、固定、...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...