nginx の default_server ディレクティブは、server_name と一致しないリクエストを処理するためのデフォルト サーバーを定義できます。明示的に定義されていない場合は、最初に定義されたサーバーが default_server として選択されます。 上記のルールを理解した後、バインドされていないドメイン名のアクセスまたは直接 IP アクセスをキャプチャし、403 ページにリダイレクトできます。 1. nginx 暗黙のデフォルトサーバー http { # デフォルトサーバーが明示的に宣言されていない場合は、最初のサーバーが暗黙的にデフォルトサーバーとして設定されます サーバー{ 聞く 80; server_name _; # _ はポイントではありません __ も OK です ___ 403 を返すこともできます; # 403 禁止 } サーバー{ 聞く 80; サーバー名 www.a.com; ... } サーバー{ 聞く 80; サーバー名 www.b.com; ... } } 多くの人がコピー&ペーストして、server_name を '_' に設定する必要があるという考えを広めていますが、実際にはそれは何の関係もありません。 「_」は、ビジネスドメイン名とは関係のないリクエスト回復サービスです。当社のオンラインビジネスがすべて明確なビジネスドメイン名でアクセスされている場合、ワイルドカード解決によって発生した一部の非ビジネスドメイン名または IP アクセスは、このサーバーによってリサイクルされます。 デフォルト サーバーが明示的に定義されていない場合、nginx は最初に構成されたサーバーをデフォルト サーバーとして使用します。つまり、リクエストがどの server_name とも一致しない場合、このサーバーがリクエストを処理します。そのため、IP アドレスを使用して直接アクセスすると、ここで定義された最初のサーバーに渡されて処理され、403 禁止になります。 2. デフォルトサーバーを明示的に定義する http { サーバー{ 聞く 80; サーバー名 www.a.com; ... } サーバー{ 聞く 80; サーバー名 www.b.com; ... } # デフォルトサーバーの定義を表示する サーバー{ 80 default_server をリッスンします。 サーバー名_; 403 を返します。# 403 禁止 } } 仮想ホストまたは複数のサービスを構成する場合、複数のサーバー構成ファイルが存在するため、デフォルト サーバーを明示的に指定することをお勧めします。暗黙的な方法を使用して最初に読み込まれたサーバーをデフォルト サーバーとして選択すると、常に最初に読み込まれるサーバーを確認する必要があり、リスクが生じます... 3. server_name を ip として直接指定します (ip アクセスのみを禁止できます) http { サーバー{ 聞く 80; サーバー名 www.a.com; ... } サーバー{ 聞く 80; サーバー名 www.b.com; ... } # ip server_nameを直接指定 サーバー{ 聞く 80; サーバー名 xxx.xxx.xxx.xxx; 403 を返します。# 403 禁止 } } 上記の 3 つの方法はすべて IP による直接アクセスを禁止できますが、1 と 2 ではバインドされていないドメイン名によるアクセスも禁止できます (たとえば、プライマリ ドメイン名を解決した場合)。 注: nginx バッチが設定 conf をロードする場合、それらは ASCII 順でロードされ、server_a.conf、server_b.conf、server_c.conf の順にロードされます。default_server が定義されていない場合、ドメイン名/IP にバインドされていないリクエストを処理するためのデフォルト サーバーとして server_a が使用されます。 nginx の default_server の定義とマッチングルールの詳細な説明については、これで終わりです。より関連性の高い nginx default_server マッチングルールについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue Element Sortablejs を使用してテーブル列をドラッグする詳細な説明
この記事では、動的なテーブル効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...
この記事では、Vueカウンターの簡単な実装コードを例として紹介します。具体的な内容は以下のとおりです...
この記事では、例を使用して、MySQL トリガーの追加、削除、変更、およびクエリ操作について説明しま...
Line-height はどのように継承されますか?30px などの特定の値を書き込むと、この値が継...
序文通知バー コンポーネントは、比較的一般的なコンポーネントです。基本的に、すべてのサイトにこのよう...
目次1. 初期SQLの準備2.MysqlはSQL文の実行時間をチェックします3. さまざまなクエリの...
前面に書かれた注文テーブル、アクセス記録テーブル、商品テーブルなど、日常生活でデータベースを操作する...
最近、会社で DELL R730 サーバーを購入したのですが、偶然次のチュートリアルを見つけたので、...
概要:ファイルシステム モジュールは、標準の POSIX ファイル I/O 操作セットをラップしたシ...
1. Webプロジェクトを作成したら、Tomcatを例にサーバーを構成する必要があります。 2. 実...
目次背景ターゲット効果アイデア成し遂げるスワイパーは変更を聞きますカスタムドットモジュール変更イベン...
<br />ポテトチップスパーティーのこのエピソードに参加して、何人かの友達に会えてとて...
初めて仮想マシンに MySQL をインストールしたとき、多くの問題が発生しました。ここでそれらを書き...
この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有しま...
まず、テーブルを分割する必要がある理由について説明します。データシートが数百万に達すると、1 回のク...