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フォーム入力監視の詳細な理解

推薦する

Vue開発の詳細な説明 ソートコンポーネントコード

目次 <テンプレート> <ul class="コンテナ">...

HttpとHttpsの両方をサポートするNginxの詳細な設定

最近の Web サイトでは Https をサポートすることがほぼ標準機能となっており、Nginx は...

mysql バックアップ スクリプト mysqldump の使い方の詳細な説明

この記事では、参考までにMySQLバックアップスクリプトを紹介します。具体的な内容は次のとおりです。...

jQueryはシンプルなコメントエリアを実装します

この記事では、参考までに、簡単なコメントエリアを実装するためのjQueryの具体的なコードを紹介しま...

フォーム要素の垂直方向の中央揃えに最適なソリューション

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

MySQLテーブルシャーディングとパーティショニングの具体的な実装方法

縦型テーブル垂直テーブル分割とは、多数の列を持つテーブルを複数のテーブルに分割することを意味します。...

HTML の色に関する参考資料

HTML では、色は 2 つの方法で表現されます。 1 つは、青の場合は blue のように色の名前...

CSS3アニメーションを使用した簡単な指クリックアニメーションの実装例

この記事では主に、CSS3 アニメーションで簡単な指クリックアニメーションを実装する例を紹介し、皆さ...

Docker Compose を使用して ELK を迅速にデプロイする (テスト済みで効果的)

目次1. 概要1.1 定義1.2 機能説明2. ELKを展開する2.1 ディレクトリとファイルを作成...

表に斜めヘッダー効果を出す5つの方法

誰もがテーブルをよく知っているはずです。コード内でよく見かけます。テーブルにスラッシュ ヘッダーを追...

CentOS7にPHP7 Redis拡張機能をインストールする方法

導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...

Vue3のサンドボックスの仕組みの詳しい説明

目次序文ブラウザコンパイル版ローカルプリコンパイルバージョン要約する序文vue3サンドボックスには主...

HTMLのインライン要素とブロックレベル要素とは何か、またそれらの違いは何ですか

以前の就職面接で面接官が尋ねた質問を覚えています。「インライン要素とは何ですか。ブロックレベル要素と...

Nginx 7層負荷分散のいくつかのスケジューリングアルゴリズムの簡単な理解

この記事は主に、Nginx 7 層負荷分散のいくつかのスケジューリング アルゴリズムを紹介します。こ...