Mam wiele bloków „serwerowych” w moim pliku nginx.conf. Dokumentacja wydaje się nieprawidłowa w zakresie kolejności dopasowywania nazw serwerów.
Moje conf wygląda mniej więcej tak:
server {
listen 80
server_name domain.com *.domain.com
# do stuff
}
server {
listen 80
server_name sub.domain.com *.sub.domain.com
# do something else
}
Próbuję dowiedzieć się, dlaczego żądania z hostem = www.sub.domain.com trafiają do właściwego miejsca (drugi serwer), gdy dokumentacja wskazuje, że powinno być kierowane do pierwszego serwera.
Dokumentacja Nginx wskazuje, że bloki serwera są sprawdzane „w kolejności” pod kątem zgodności, co oznacza, że każde żądanie z hostem * .sub.domain.com powinno zostać przechwycone przez pierwszy serwer, a nie drugi serwer. ( http://wiki.nginx.org/HttpCoreModule#server_name )
Ponadto * symbol wieloznaczny pasuje do dowolnej liczby części poddomeny, więc * .domain.com pasuje do www.sub.domain.com. ( http://nginx.org/en/docs/http/server_names.html#wildcard_names )
Jeśli ta dokumentacja jest nieprawidłowa, jakie jest właściwe dopasowanie?