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はハイパーリンク付きの新しいウィンドウを開き、ウィンドウのプロパティを制御できます。

推薦する

JS正規RegExpオブジェクトについての簡単な説明

目次1. RegExpオブジェクト2. 文法2.1 定義2.2 修飾子2.3 角括弧2.4 メタ文字...

WindowsシステムでPhPStudy MySQLの起動に失敗する問題を解決する

エラーを報告するApache\Nginx サービスは正常に起動しましたが、MySQL は起動に失敗し...

MySQL 5.7.17 でパスワードを忘れた場合の対処方法

1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...

Nest.js 認証検証方法の例

目次0x0 はじめに0x1 RBAC 実装0x2 クレームベースの承認0x3 統合 CASL 0x4...

MySQLは「order by」がどのように機能するかを簡単に理解します

並べ替えの場合、order by は非常に頻繁に使用するキーワードです。インデックスに関するこれまで...

Dockerリポジトリの一般的なコマンドの詳細な説明

ログイン dockerログインdocker login コマンドを実行し、ユーザー名、パスワード、メ...

UbuntuにMySQLデータベースをインストールする方法

Ubuntu は、Linux をベースにした無料のオープンソース デスクトップ PC オペレーティン...

JS ベースのページフローティングボックスを実装するためのサンプルコード

スクロール バーを下に引くと、主にposition:fixed;スタイルにより、フローティング ボッ...

Linux CRM デプロイメント コードの詳細な説明

Linuxの基本設定 Linux環境でpython3をコンパイルしてインストールする 1. Linu...

CentOS 8 に Postfix メール サーバーをインストールして設定する方法

Postfix は、Linux システム上で電子メールをルーティングまたは配信するために使用される無...

Prometheusコンテナのデプロイメントのための実用的なソリューション

環境ホスト名IPアドレス仕えるプロメテウス192.168.237.137プロメテウス、グラファナノー...

JavaScript における var、let、const の違いの詳細な説明

目次グローバル変数として可変ホイスト一時的なデッドゾーンブロックスコープ重複したステートメント宣言さ...

Linux resolv.conf の簡単な分析

1. はじめにresolv.conf は、さまざまなオペレーティング システムのドメイン ネーム シ...

Mac インストール mysqlclient プロセス分析

仮想環境で pip 経由でインストールしてみてください: pip で mysqlclient をイン...

docker.service 起動エラーの詳細なトラブルシューティング

エラーを報告するには次のコマンドを実行しますsystemctl dockerを再起動しますエラーメッ...