私はいくつかの仮想ホストを持っていますが、空白のページ、エラーページ、または一般にNginxのリソースの最も効率的な使用方法のいずれかによってデフォルトの仮想ホストを「オフ」にしたいのですが、他の仮想ホストへのアクセスは許可しています定義済みドメイン。
HTTP 444 コードを返すdefault_serverを定義します。
server {
listen 80 default_server;
server_name _;
return 444;
}
(4xxエラーコードが返されるということは、クライアントがリクエストを失敗したリクエストとして解釈できることを意味します HTTP 200空白ページですが、完全に機能します 。)
空のindex.htmlファイルのあるディレクトリを指すdefault vhostを定義するだけです。
server {
listen 80 default_server;
server_name _ ;
root /var/www/placeholder ;
index index.html;
}
空のインデックスを/ var/www/placeholderに配置します
私はこのフォームのasp.netコアドキュメントを学びます
server {
listen 80 default_server;
# listen [::]:80 default_server deferred;
return 444;
}
あなたはnginxドキュメントでもそれを見つけることができます
https://nginx.org/en/docs/http/request_processing.html
server {
listen 80;
server_name "";
return 444;
}
ここでは、サーバー名は空の文字列に設定され、「Host」ヘッダーフィールドのないリクエストに一致します。接続を閉じる特別なnginxの非標準コード444が返されます。
なぜすべてを否定しないのですか
server {
listen 80 default_server;
server_name _;
location / {
deny all;
}
}