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 はコンポーネント間の通信をどのように実装しますか?

目次1. 父と息子のコミュニケーション1.1 親コンポーネント --> 子コンポーネント1.2...

MySQL 面接でよく聞かれる質問への回答

序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

Angularプロジェクトにおける共有モジュールの実装の詳細な説明

目次1. 共有共通モジュール2. 共有マテリアルモジュール3. 共有確認ダイアログ1. 共有共通モジ...

nginxリバースプロキシwebSocket設定の詳細な説明

最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...

テーブルを使用してフォームコントロールの形式を調整し、見栄えを良くします。

自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...

HTMLのマーキータグは、シームレスなスクロールマーキー効果を実現します。

<marquee> タグはペアで表示されるタグです。最初のタグ <marquee...

Web データ ストレージ: Cookie、UserData、SessionStorage、WebSqlDatabase

クッキーこれはクライアント ブラウザの状態を保存するための標準的な方法です。Cookie はブラウザ...

JSのアンカーリンクをクリックするとスムーズにスクロールし、自由にトップ位置に調整できます。

アンカーリンクをクリックするとスムーズにスクロールし、自由にトップ位置に調整できます。 1. アンカ...

ccs3に基づくタイムライン実装方法

Web プロジェクトでは、タイムライン コントロールをよく使用します。この記事では、項目ごとに展開で...

Vueプラグインの実装で発生した問題の概要

目次シーン紹介プラグインの実装問題1: 重複したヘッダーコンポーネント質問2: 別の実装アイデア質問...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

Mac+IDEA+Tomcat の設定手順

目次1. ダウンロード2. インストールと解凍3. Tomcatを起動する4番目に、インストールが成...

データベースの冗長フィールドを合理的に使用する方法

privot は、多対多の関係の中間テーブルです。 PT5 フレームワークは自動的に privot ...

親要素を基準にCSSの位置を絶対的に設定する方法についての簡単な説明

ご存知のとおり、CSS の絶対位置はデフォルトでドキュメントに応じて設定されます。たとえば、posi...