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

nginx: директива default_server не соблюдается

У меня есть несколько файлов, каждый с конфигурацией для другого vhost. В одном из этих файлов конфигурации (включенных в основной файл конфигурации nginx) я установил директиву default_server:

server {

    listen                  80;
    listen                  443 ssl default_server spdy;
    server_name             188.166.X.XXX;
    root                    /var/www/default;
    index                   index.php index.html;
    ...
}

... но это не соблюдается. Если я укажу запись A домена, который я не добавил в блоке сервера nginx, будет выбран первый блок сервера в алфавитном порядке (вместо default_server). Зачем?

В default_server необходимо установить для каждого порта, который вы используете в своей конфигурации. Итак, вам нужно добавить default_server после listen 80; к виртуальному хосту, который вы хотите использовать в качестве сервера по умолчанию для порта 80.