ホームページ 運用・保守 Nginx nginxの場所でuriをインターセプトする方法

nginxの場所でuriをインターセプトする方法

May 18, 2023 pm 12:07 PM
nginx location uri

説明:

場所の root および alias

  • root コマンドは、検索されたルートをルート設定ディレクトリに設定するだけです。つまり、uri は切り詰められませんが、元の uri を使用してディレクトリにジャンプしてファイルを見つけます。

  • ais コマンドは一致する uri を切り詰めてから、次を使用します。追加するエイリアスによって設定されたパス 残りの URI をサブパスとして検索します

location proxy_pass の uri

proxy_pass URL に uri がない場合

  • 末尾が「/」の場合、一致する URI は切り詰められます

  • #末尾が「/」でない場合、一致する URI は切り詰められませんtruncated

proxy_pass の URL に URI が含まれている場合、一致する URI は切り捨てられます

examples

##root## の場所
#

root@pts/1 $ ls -ld /data/web/lctest*|awk '{print $nf}'
/data/web/lctest
/data/web/lctest2
/data/web/lctest3
/data/web/lctest4


location /lctest {
  root /data/web/;
}

location /lctest2/ {
  root /data/web/;
}
location /lctest3 {
  root /data/web;
}
location /lctest4/ {
  root /data/web;
}

curl テストの結果は次のとおりです

注: ブラウザーが / を追加しない場合は、 end と入力すると自動的に追加されますが、curl No

root@pts/1 $ curl http://tapi.xxxx.com/lctest/
hello world

root@pts/1 $ curl http://tapi.xxxx.com/lctest2/
hello world
2

root@pts/1 $ curl http://tapi.xxxx.com/lctest3/
3
hello world

root@pts/1 $ curl http://tapi.xxxx.com/lctest4/
hello world
4

location alias

location /lctest5 {
  alias /data/web/;
}
location /lctest6/ {
  alias /data/web/;
}

location /lctest7 {
  alias /data/web;
}

## 403 /data/web forbidden
location /lctest8/ {
  alias /data/web;
}

curl テスト結果は以下の通りです

curl 'http://tapi.kaishustory.com/lctest5/'
curl 'http://tapi.kaishustory.com/lctest6/'
curl 'http://tapi.kaishustory.com/lctest7/'
结果都是 /data/web/index.html的输出

root@pts/1 $ curl 'http://tapi.kaishustory.com/lctest8/'
<html>
<head><title>403 forbidden</title></head>
<body bgcolor="white">
<center><h1>403 forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>

location proxy_pass

#--------proxy_pass配置---------------------
location /t1/ { proxy_pass http://servers; }  #正常,不截断
location /t2/ { proxy_pass http://servers/; }  #正常,截断
location /t3 { proxy_pass http://servers; }  #正常,不截断
location /t4 { proxy_pass http://servers/; }  #正常,截断
location /t5/ { proxy_pass http://servers/test/; }  #正常,截断
location /t6/ { proxy_pass http://servers/test; }  #缺"/",截断
location /t7 { proxy_pass http://servers/test/; }  #含"//",截断
location /t8 { proxy_pass http://servers/test; }  #正常,截断

テスト スクリプト

for i in $(seq 8)
do
  url=http://tapi.xxxx.com/t$i/doc/index.html
  echo "-----------$url-----------"
  curl url
done

テスト結果えー

以上がnginxの場所でuriをインターセプトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHPコードを作成した後にPHPコードを実行する方法は? PHPコードを実行するいくつかの一般的な方法 PHPコードを作成した後にPHPコードを実行する方法は? PHPコードを実行するいくつかの一般的な方法 May 23, 2025 pm 08:33 PM

PHPコードはさまざまな方法で実行できます。1。コマンドラインを使用して「PHPファイル名」を直接入力してスクリプトを実行します。 2.ファイルをDocument Root Directoryに入れ、Webサーバーを介してブラウザを介してアクセスします。 3. IDEで実行し、組み込みのデバッグツールを使用します。 4.テストには、オンラインPHPサンドボックスまたはコード実行プラットフォームを使用します。

nginxをインストールした後、構成ファイルパスと初期設定 nginxをインストールした後、構成ファイルパスと初期設定 May 16, 2025 pm 10:54 PM

Nginxの構成ファイルパスと初期設定を理解することは、Webサーバーの最適化と管理における最初のステップであるため、非常に重要です。 1)構成ファイルパスは通常/etc/nginx/nginx.confです。構文は、Nginx-Tコマンドを使用して見つけるとテストできます。 2)初期設定には、グローバル設定(ユーザー、Worker_Processesなど)およびHTTP設定(include、log_formatなど)が含まれます。これらの設定により、要件に応じてカスタマイズと拡張機能が可能になります。構成が誤っていると、パフォーマンスの問題やセキュリティの脆弱性が生じる可能性があります。

Linuxのユーザーリソースを制限する方法は? ulimitを構成する方法は? Linuxのユーザーリソースを制限する方法は? ulimitを構成する方法は? May 29, 2025 pm 11:09 PM

Linuxシステムは、リソースの過度の使用を防ぐために、ULIMITコマンドを介してユーザーリソースを制限します。 1.ulimitは、ファイル記述子(-n)、メモリサイズ(-v)、スレッドカウント(-u)などの数を制限できるビルトインシェルコマンドであり、ソフト制限(現在の有効値)とハードリミット(最大上限)に分割されます。 2。Ulimit-N2048などの一時的な変更には、Ulimitコマンドを直接使用しますが、現在のセッションでのみ有効です。 3.永続的な効果を得るには、/etc/security/limits.confを変更し、PAM構成ファイルを変更し、SessionRequiredPam_limits.soを追加する必要があります。 4. SystemDサービスは、ユニットファイルにLIMを設定する必要があります

Debian Nginx構成スキルは何ですか? Debian Nginx構成スキルは何ですか? May 29, 2025 pm 11:06 PM

DebianシステムでNginxを構成する場合、以下はいくつかの実用的なヒントです。構成ファイルの基本構造グローバル設定:NGINXサービス全体に影響を与える行動パラメーターを定義します。イベント処理パーツ:Nginxがネットワーク接続をどのように扱うかを決定することは、パフォーマンスを改善するための重要な構成です。 HTTPサービスパーツ:HTTPサービスに関連する多数の設定が含まれており、複数のサーバーとロケーションブロックを埋め込むことができます。コア構成オプションworker_connections:各ワーカースレッドが処理できる接続の最大数を定義します。通常は1024に設定されています。Multi_accept:マルチ接続受信モードをアクティブにし、同時処理の能力を高めます。 s

Nginxサービスの自己開始を構成するための特定の手順 Nginxサービスの自己開始を構成するための特定の手順 May 16, 2025 pm 10:39 PM

NGINX構成を開始する手順は次のとおりです。1。SystemDサービスファイルを作成します:Sudonano/etc/systemd/system/nginx.Service、および関連する構成を追加します。 2。SystemD構成をリロード:sudosystemctldaemon-reload。 3. nginxを自動的に起動できるようにします:sudosystemctlenablenginx。これらの手順を通じて、Nginxはシステムの開始時に自動的に実行され、Webサイトまたはアプリケーションの信頼性とユーザーエクスペリエンスが保証されます。

phpstormとdockerコンテナ化された開発環境を構成します phpstormとdockerコンテナ化された開発環境を構成します May 20, 2025 pm 07:54 PM

Dockerコンテナ化テクノロジーを通じて、PHP開発者はPHPstormを使用して、開発効率と環境の一貫性を改善できます。特定の手順には以下が含まれます。1。PHP環境を定義するDockerFileを作成します。 2。phpstormでDocker接続を構成します。 3. DockerComposeファイルを作成して、サービスを定義します。 4.リモートPHPインタープリターを構成します。利点は強力な環境の一貫性であり、欠点には長いスタートアップ時間と複雑なデバッグが含まれます。

Debian apache2のSEO最適化手法は何ですか? Debian apache2のSEO最適化手法は何ですか? May 28, 2025 pm 05:03 PM

DebianApache2のSEO最適化スキルは、複数のレベルをカバーしています。いくつかの重要な方法を次に示します。キーワード調査:ページのコアと補助キーワードをマイニングするためのツール(キーワードマジックツールなど)を使用します。高品質のコンテンツ作成:貴重でオリジナルのコンテンツを生成します。コンテンツは、スムーズな言語と明確な形式を確保するために、詳細な研究を実施する必要があります。コンテンツのレイアウトと構造の最適化:タイトルと字幕を使用して、読書をガイドします。簡潔で明確な段落と文章を書いてください。リストを使用して重要な情報を表示します。写真やビデオなどのマルチメディアを組み合わせて、表現を強化します。空白の設計により、テキストの読みやすさが向上します。技術レベルのSEO改善:robots.txtファイル:検索エンジンクローラーのアクセス権を指定します。 Accelerate Webページの読み込み:キャッシュメカニズムとApache構成の助けを借りて最適化

DebianにDockerの自動展開を実装する方法 DebianにDockerの自動展開を実装する方法 May 28, 2025 pm 04:33 PM

DebianシステムにDockerの自動展開を実装することは、さまざまな方法で実行できます。詳細な手順ガイドは次のとおりです。最初にdockerをインストールして、Debianシステムが最新のままであることを確認してください:sudoaptupdatesudoaptupgrade-y次に、必要なソフトウェアパッケージをインストールして、httpsを介してリポジトリへの適切なアクセスをサポートします:sudoaptinstallapt-transport-transport-httpsca-cartifatecurlsoft-cortecursoft-properties-common-common-compg inphy com

See all articles