у меня есть два server {}
блоки с доменами, которые мне нужно использовать.
Но я обнаружил проблему ... Если я настрою DNS другого домена, который указывает на мой сервер, nginx ответит правильно! Зачем?
Nginx должен ответить с ошибкой http! но он возвращает веб-сайт с таким же IP-адресом, почему? У меня нет имени сервера с этим доменом!
Спасибо!
Он отвечает, потому что у вас не настроен отдельный виртуальный хост по умолчанию. Всегда существует настроенный по умолчанию или резервный vhost, чтобы nginx знал, что делать в случае, если он получит запрос того типа, который вы отправили.
В документация nginx дает хорошее описание того, как выполняется сопоставление имени сервера и vhost, но вкратце я бы рекомендовал настроить новый vhost следующим образом:
server {
listen 80 default_server;
root /usr/share/empty;
}
(Возможно, вам придется создать /usr/share/empty
если его еще нет)
Это просто предоставит пустой каталог всем, кто попадет на ваш сервер с нераспознанным именем vhost. Вы можете стать более интересным с различными типами страниц ошибок и еще много чего, если хотите.