Listen и default server
ingtar
nginx-forum на forum.nginx.org
Ср Май 15 08:32:34 UTC 2019
Столкнулся с такой ситуацией:
Есть много разных виртуальных хостов, что висят на разных адресах у машины.
Где-то указаны конкретные IP, где-то звездочка.
При добавлении нового виртуального хоста иногда возникает ситуация, что
запросы начинают обрабатываться другими хостами, т.е. меняется логика в
обработке запросов.
Пример конфига:
server {
listen 8000;
server_name test1;
location / {
return 200 'responce from test1';
}
}
server {
listen 8000 default_server;
server_name test2;
location / {
return 200 'responce from test2!';
}
}
server {
listen 8000 ;
server_name test3;
location / {
return 200 'responce from test3!';
}
}
Тут все хорошо, запросы с заголовками test1,2,3 попадают в нужные хосты, без
заголовков попадают в default
но если указать у любого listen конкретный ip, например 127.0.0.1 то все
запросы начинает обрабатывать именно он, игнорируя заголовки Host и
default_server
Чисто логически я понимаю, что у него приоритет ИП, но выглядит странно :)
Есть какие-то практики в этом случае - только ИП везде или все без ИП?
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,284170,284170#msg-284170
Подробная информация о списке рассылки nginx-ru