Nginxリバースプロキシ設定でプレフィックスが削除される

Nginxリバースプロキシ設定でプレフィックスが削除される

nginx をリバース プロキシとして使用する場合、リクエストをそのまま次のサービスに転送するだけです。 proxy_pass リクエストを設定すると、ドメイン名のみが置き換えられます。異なる URL サフィックスに基づいて異なるサービスにアクセスする場合は、次の方法を使用する必要があります。

方法1: 「/」を追加する

サーバー{
    8000を聴く;
    サーバー名 abc.com;
    access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" メイン;
 
    場所 ^~/user/ {
        proxy_set_header ホスト $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy が true である;
 
        proxy_pass http://user/;
    }
 
    場所 ^~/order/ {
        proxy_set_header ホスト $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy が true である;
 
        proxy_pass http://order/;
    }
}

^~/user/ は、プレフィックスuserを持つリクエストに一致することを意味します。proxy_pass が/で終わる場合、 /user/*の後のパスは末尾に直接連結され、つまりuser は削除されます。

方法2: 書き直す

上流ユーザー
 サーバー localhost:8089 weight=5;
}
上流注文
 サーバー localhost:8090 weight=5;
}
 
サーバー{
 聞く 80;
 サーバー名 abc.com;
 access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" メイン;
 
 場所 ^~/user/ {
 proxy_set_header ホスト $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-NginX-Proxy が true である;
 
 ^/user/(.*)$ /$1 を書き換えて、break;
 proxy_pass http://ユーザー;
 }
 
 場所 ^~/order/ {
 proxy_set_header ホスト $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-NginX-Proxy が true である;
 
 ^/order/(.*)$ /$1 を書き換えてbreak;
 proxy_pass http://order;
 }
}

proxy_pass の末尾に/がないので、 rewrite はURL を書き換えます。

---------------------

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Nginx リバース プロキシ構成の完全なプロセス記録
  • 中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)
  • Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例
  • SSL で Nginx リバース プロキシを構成する簡単な手順
  • nginxリバースプロキシのyum設定の詳細な手順
  • nginxリバースプロキシwebSocket設定の詳細な説明
  • リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース
  • プレフィックスケースを削除する Nginx リバース プロキシ構成のチュートリアル

<<:  MACでMYSQLデータベースのパスワードを忘れた場合の解決策

>>:  Ubuntu MySQL バージョンが 5.7 にアップグレードされました

推薦する

CocosCreatorでリストを作成する方法

CocosCreator バージョン: 2.3.4 Cocos には List コンポーネントがない...

WeChatアプレット開発の共通機能と使用方法のまとめ

ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理...

MySQLで関連テーブルを削除する実用的な方法

MySQL データベースでは、テーブルが互いに関連付けられた後は、それらを任意に削除することはできま...

nginx パニック問題の解決方法の詳細な説明

nginx パニック問題に関しては、まず nginx の起動プロセス中に、マスター プロセスが構成フ...

VMware 15 を使用して仮想マシンをインストールし、CentOS 8 を使用する詳細な手順

序文:現在、Linux と .Net Core を学習しており、クロスプラットフォームの知識を学んで...

MySQL の Like の概念と使用法の説明

Like は中国語で「好き」を意味しますが、MySQL データベースに適用される場合、Like は、...

MySQL バッチ挿入とユニークインデックスの問題に対する解決策

MySQL バッチ挿入の問題プロジェクトを開発しているときに、古いシステムの基本データを事前にインポ...

MySQL 8.0.18はデータベースにユーザーを追加し、権限を付与します

1. データベースにログインするには、rootユーザーを使用することをお勧めします。 mysql -...

MySqlを最適化するためにnot inを使用する方法

最近、プロジェクトで選択クエリを使用する際に、未使用の主キー ID を除外するために not in ...

Linux での MySQL 5.7 の導入とリモート アクセス構成

前書き: 最近、私はパートナーとチームを組んで .NET Core プロジェクトに取り組む予定です。...

ハイパーコネクションの4つの状態の適用の詳細な説明

ブラウザの問題かもしれないと思うかもしれませんが、スタイル定義の順序が間違っている可能性が高いです。...

Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明

1. マックヴラン前回のブログ投稿で紹介した Docker コンテナのホスト間通信を実現するための ...

MySQL の完全なデータベース バックアップからデータベースとテーブルを復元する方法

公式の MySQL ダンプ ツールで、特定のデータベースのみを復元するにはどうすればよいですか?完全...

ubuntu15.10 での hadoop2.7.2 の詳細なインストールと設定

Linux での Hadoop インストール チュートリアルはインターネットや書籍に多数ありますが、...