Запрет на обработку несуществующих доменов. Nginx
... или как сохранить тележку ресурсов сервера
По умолчанию Nginx обрабатывает все запросы и показывает HTML‑страницу из /var/www/html/. Когда на сервере один сайт, может показаться, что сделать его «сайтом по умолчанию» — хорошая идея. Но это не так.
Лучше явно запрещать обработку неизвестных хостов, чтобы:
- не тратить ресурсы на мусорный трафик;
- не светить содержимое случайного сайта на любые непонятные домены;
- проще ловить неправильную DNS‑настройку.
Конфиг «запрет по умолчанию»
Создаём файл /etc/nginx/sites-available/0-default.conf:
nginx
server {
return 444;
}Код 444 — специальный внутренний код Nginx: он закрывает соединение без ответа, браузер показывает своё стандартное сообщение об ошибке соединения.
Создаём симлинк в sites-enabled:
bash
sudo ln -s /etc/nginx/sites-available/0-default.conf /etc/nginx/sites-enabled/0-default.conf
sudo nginx -t && sudo service nginx reloadТеперь любой запрос на домен, для которого нет своего server {}‑блока, будет получать 444, а не ваш «главный» сайт.
Откат изменений (на всякий случай)
bash
sudo rm /etc/nginx/sites-enabled/0-default.conf
sudo service nginx reload