По умолчанию nginx обрабатывает все запросы показывая html страничку лежащую в /var/www/html/
. Начиная знакомиться с Nginx можно подумать, что установить свой единственный сайт, лежащий на сервере, сайтом по умолчанию - хорошая идея. Но это не так.
Разрешить обрабатывать только определённые сайты можно добавив в /ets/nginx/sites-availabe/
файл 0-default.conf
со следующим содержимым:
server {
return 444;
}
Также нужно создать симлинк на этот файл в папке /etc/nginx/sites-enabled/
Специальный внутренний код Nginx'а 444
закрывает соединения без ответа, что заставляет браузер показывать своё внутреннее сообщение.
Полный сниппет для Linux:
echo "# Default server
server {
return 444;
}
" | sudo tee -a /etc/nginx/sites-available/0-default.conf
sudo ln -s /etc/nginx/sites-available/0-default.conf /etc/nginx/sites-enabled/0-default.conf
sudo nginx -t && sudo service nginx reload
Отмена изменений (на всякий случай):
sudo rm /etc/nginx/sites-enabled/0-default.conf
sudo service nginx reload