И да, 0.0.0.0:8000 и 127.0.0.1:8000 - это разные сокеты, соотв. если в запросе указан http://127.0.0.1:8000, то он не попадет в сокет другого IP, что бы там в Host не было передано. Так что тут нужно строить конфиг изначально с учетом этого нюансика)

15.05.2019 14:35, raven...@megaline.kg пишет:
Где нужен конкретный IP - указывать IP, где нет - использовать 0.0.0.0

15.05.2019 14:32, ingtar пишет:
Столкнулся с такой ситуацией:
Есть много разных виртуальных хостов, что висят на разных адресах у машины.
Где-то указаны конкретные 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 mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить