Nginx Location ディレクティブの URI 一致ルールとは何ですか?
1. はじめに
location ディレクティブは http モジュールの中核となる設定であり、事前定義された URL マッチング ルールに基づいてユーザーから送信されたリクエストを受け取ります。その結果、リクエストはバックエンドサーバーに転送され、不正なリクエストは直接拒否され、403、404、500 エラー処理などが返されます。
2. ロケーション命令の構文
location [=|~|~*|^~|@] /uri/ { … } または location @name { … }
3. URI マッチング モード
location ディレクティブは 2 つのマッチング モードに分かれています:
1> 通常の文字列マッチング: with = Rules先頭文字 (~)
2> で始まるか、先頭文字なしで始まる場合 (~)
4 、location uri マッチング ルール
nginx がリクエストを受信すると、リクエストの uri 部分をインターセプトし、location ディレクティブで定義されたすべての uri マッチング パターンを検索します。サーバー モジュールでは、さまざまな URL リクエストに一致する複数のロケーション命令と、複数の異なるロケーション構成の URI マッチング パターンを定義できます。全体的なマッチング原則は、最初に通常の文字列パターンに一致し、次に通常のパターンに一致します。 uri 部分のみが認識されます。たとえば、リクエストは /test/abc/user.do?name=xxxx
リクエストが来た後、このリクエストに一致する nginx のプロセスは次のようになります。 :
1> まず、location = /test/abc/user.do { … }
2> のように、= で始まる完全一致を検索します。最大のプレフィックスを使用して通常の一致を検索します。 原則として、次の 2 つの場所がある場合、後者が一致します
* location /test/ { … }
* location /test/abc { … }
##3> マッチング 共通フォーマットに達した後も検索は終了せず、現在のマッチング結果を一時的に保存し、通常のマッチング パターン
4> の検索を続けます。すべての正規一致パターンの場所で最初に一致するアイテムが見つかった後、このアイテムが最終的な一致結果として使用されます
したがって、通常一致アイテムの一致ルールは定義された順序の影響を受けますが、通常の一致モードは影響を受けません
5> 正規に一致する項目が見つからない場合は、3 でキャッシュされた結果が最終的な一致結果になります
6> 一致が見つからない場合は、404 が返されます
5. 完全一致とあいまい一致の違い
location =/ { … } と location / { … } の違い:
* 前者は完全一致であり、以下にのみ応答します。 / リクエスト。すべての /xxx または /xxx/xxxx タイプのリクエストは、プレフィックスの形式では一致しません。
* 後者は、リクエストにプレフィックス / が付いている限り、一致します。例: /abc、/test/abc、/test/abc/aaaa
6、正規および非正規のマッチング
1> location ~ /test /. .jsp$ { … }: 正規一致。標準の正規表現構文をサポートします。
2> location ^~ / { … }: ^~ は、通常のマッチングをオフにすることを意味します。この通常のマッチング パターンが検索されると、通常のマッチング パターンは検索されなくなります。
以上がNginx Location ディレクティブの URI 一致ルールとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Tomcat サーバーが外部ネットワークにアクセスできるようにするには、以下を行う必要があります。 外部接続を許可するように Tomcat 構成ファイルを変更します。 Tomcat サーバー ポートへのアクセスを許可するファイアウォール ルールを追加します。 Tomcat サーバーのパブリック IP を指すドメイン名を指す DNS レコードを作成します。オプション: リバース プロキシを使用して、セキュリティとパフォーマンスを向上させます。オプション: セキュリティを強化するために HTTPS を設定します。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

「nginx へようこそ!」エラーを解決するには、仮想ホスト構成を確認し、仮想ホストを有効にし、Nginx をリロードする必要があります。仮想ホスト構成ファイルが見つからない場合は、デフォルト ページを作成して Nginx をリロードすると、エラー メッセージが表示されます。が消え、ウェブサイトは通常のショーになります。

HTML ファイルを URL に変換するには Web サーバーが必要です。これには次の手順が含まれます。 Web サーバーを取得します。 Webサーバーをセットアップします。 HTMLファイルをアップロードします。ドメイン名を作成します。リクエストをルーティングします。

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環境を準備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。

はい、Node.js には外部からアクセスできます。次の方法を使用できます。 Cloud Functions を使用して関数をデプロイし、一般にアクセスできるようにします。 Express フレームワークを使用してルートを作成し、エンドポイントを定義します。 Nginx を使用して、Node.js アプリケーションへのリバース プロキシ リクエストを実行します。 Docker コンテナを使用して Node.js アプリケーションを実行し、ポート マッピングを通じて公開します。

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

Linux 管理者にとっての重要なタスクは、サーバーを違法な攻撃やアクセスから保護することです。デフォルトでは、Linux システムには、iptables、Uncomplicated Firewall (UFW)、ConfigServerSecurityFirewall (CSF) などの適切に構成されたファイアウォールが付属しており、さまざまな攻撃を防ぐことができます。インターネットに接続されているマシンはすべて、悪意のある攻撃のターゲットになる可能性があります。サーバーへの不正アクセスを軽減するために使用できる Fail2Ban と呼ばれるツールがあります。 Fail2Ban とは何ですか? Fail2Ban[1] は、ブルート フォース攻撃からサーバーを保護する侵入防止ソフトウェアです。 Python プログラミング言語で書かれています
