Пытаюсь настроить nginx чтобы все виртуальные сервера кроме требуемых были проигнорированы.
Для простоты имею:
server
{
listen 80;
server_name mysite.com www.mysite.com;
root html;
}
server
{
listen 80 default_server;
server_name _;
return 404;
}
Ожидаю что http://mysite.com/ и http://www.mysite.com/ будут обработаны,
ондако http://www.mysite.com/ работает корректно, а http://mysite.com/ вызывает ошибку 404,
т.е. выбирается второй виртуальный сервер а mysite.com просто игнорируется, пробовал другие
коды ошибки во втором виртуальном сервере, и именно они выдаются при запросе на http://mysite.com/
Использование rewrite не кажется мне правильным.
Кроме этих виртуальных серверов в конфигурации присутствуют mercurial (hg.mysite.com www.mysite.com) и
trac (trac.mysite.com www.trac.mysite.com). и хочется иметь возможность добавить myanothersite.com с
таким же набором: myanothersite.com+hg.myanothersite.com+trac.myanothersite.com.
Возможно я что-то делаю не так. Пожалуйста посоветуйте что делать.
~Дмитрий