Назад | Перейти на главную страницу

NginX использует неправильный файл конфигурации

У меня есть веб-сервер с NginX и каждый веб-сайт в другом файле конфигурации. Я заметил, что если у меня есть конфигурация сайта, которая больше не существует (без DNS-имени или какой-либо неправильной настройки), NginX просто перенаправляет меня на один из других моих сайтов. Всегда к одному и тому же, а не случайно. Как это работает? Как NginX решает, куда меня перенаправить, если конфигурация, которую он должен обслуживать, неверна?

Простой пример: если я ввожу IP-адрес сервера в браузер, я получаю загруженную конкретную страницу. OFC Я не установил ни одну из конфигураций для обслуживания IP-адреса. Вы знаете, как я могу изменить NginX для обслуживания чего-то другого или, может быть, сбросить ошибку? О да, об этом

Если я перейду на свой IP-адрес, ни один из файлов журнала ничего не регистрирует. Хотя очевидно, что загружается один сайт.

Это потому, что Nginx по умолчанию использует первый веб-сайт. Вы можете выбрать тот, который хотите использовать по умолчанию, с помощью default_server директива.

Я не хочу, чтобы Nginx отвечал ни на одно доменное имя, поэтому я делаю это, чтобы отправить нет ответа.

# This just prevents Nginx picking a random default server if it doesn't know which
# server block to send a request to
server {
    listen      80 default_server;
    server_name _;
    return      444; # This means "go away", effectively
}

Если нет server блок с соответствием server_name, запрос будет отправлен на server с default_server заявление в этом Listen директива или первая server определенный блок (обычно первый в алфавите при чтении нескольких файлов конфигурации из каталога).

Видеть http://nginx.org/en/docs/http/request_processing.html и http://nginx.org/en/docs/http/server_names.htm