Почему nginx отвечает на IP-адрес без директивы default_server?

Почему nginx отвечает на IP-адрес без директивы default_server?

У меня есть веб-сервер nginx с двумя сайтами, которые прослушивают порт 80 для двух доменов: dom.netиdom.se

В sites-enabledу меня есть файлы для каждого из них, dom.net.siteи dom.se.site, которые идентичны, за исключением server_nameдирективы. Это либо server_name dom.net *.dom.net;или server_name dom.se *.dom.se;. Остальное практически то же самое, но для того, locationчтобы помочь мне отладить, и это выглядит так (для сайта .net):

  location /check {
    return 200 'dom.net';
    add_header Content-Type text/plain;
  }

Я не понимаю, почему, когда я захожу на http://my-server-ip/check, я получаю тот же ответ, что и при переходе наhttp://server.dom.net/check. У меня нет default_serverдиректив ни в одном из файлов сайта, и nginx все равно отвечает на IP-адрес.

И почему он выбралhttp://server.dom.netи неhttp://server.dom.se?

Очень смущенный.

решение1

Конфигурация по умолчанию для nginx находится по следующему пути: /etc/nginx/nginx.conf. Если вы ее прочитаете, то увидите блок с синтаксисом «http{}», а в этом блоке есть строка, которая гласит:

include /etc/nginx/sites-enabled/*

Итак, nginx загрузит файлы в этом каталоге в порядке (в алфавитном порядке), как упомянул «Джеральд Шнайдер» в комментарии.

Связанный контент