server {
listen *:80;
server_name site.com;
server_name *.site.com;
}
server {
listen 10.20.30.40:80;
server_name site.com;
server_name mail.*;
}
если listen *:80; будет включать в себя listen 10.20.30.40:80;
в каком из серверов должен обрабатываться запрос Host: mail.site.com ?
В первом, поскольку подходящий server_name имеется в обоих случаях,
listen также подходит в обоих случаях, но по документации сначала
обрабатываются ?имена с маской в начале имени?, а затем ?имена с маской
в конце имени?.
а в каком из них запрос Host: site.com ? а если запрос придет на адрес
10.20.30.40
Во втором, поскольку совпадение server_name одинаково точное, а по
listen более полное.
или на адрес 10.20.30.50 (этот ip попадает в первый listen)
В первом, поскольку у второго этот IP не указан вообще.
--
Best regards,
Eugene Janusov.