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 を使用してテーブル列をドラッグする詳細な説明
1 ストアドプロシージャ1.1 ストアドプロシージャとは何かストアド プロシージャは、特定の機能を実...
1. MySQLイメージを取得する docker pull mysql:5.6注: mysql5.7...
1. まず、インタラクティブに使用するための .json ファイルを作成します。json データ形式...
当初の意図は、element-ui の $notify 通知をコンポーネントにカプセル化することでし...
element-uiを使用する場合、el-popoverというよく使われるコンポーネントがありますが...
目次背景MySQLが完全に起動したかどうかを確認する方法事故最初の変更2回目の改訂要約するMySQL...
目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...
WeChat ミニプログラムのネイティブ コンポーネントであるカメラ、キャンバス、入力 (フォーカス...
Dockerはますます普及しています。環境を軽量かつ柔軟に分離し、容量を拡張し、運用保守管理を容易に...
序文文字セットは、一連のシンボルとエンコード規則です。Oracle データベースでも MySQL デ...
ハイパーリンクを使用すると、ページからページへ、またはサイトからサイトへ瞬時に移動できます。このよう...
HTML で長いデータを表示する場合、マウスをその上に移動するとデータを切り捨てて完全なデータを表示...
インターネットにはすでにこの種の記事が溢れていますが、私がこれをまだ書いている理由は単純です。それは...
1. 複合主キーいわゆる複合主キーとは、テーブルの主キーが複数のフィールドで構成され、ビジネス上の意...
FRAME プロパティを使用して、表の境界線のスタイル タイプを制御します。基本的な構文<T...