У мене є декілька блоків "сервера" в моєму nginx.conf. Документація здається неправильною щодо порядку, в якому відбувається узгодження імені сервера.
Мій конф. Виглядає приблизно так:
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
}
Я намагаюся з'ясувати, чому запити з хостом = www.sub.domain.com переходять у потрібне місце (другий сервер), коли в документації зазначено, що він повинен переходити на перший сервер.
Документація Nginx вказує на те, що серверні блоки перевіряються "на порядок" відповідності, тобто будь-який запит з хостом * .sub.domain.com повинен бути зафіксований на першому сервері, а не на другому сервері. ( http://wiki.nginx.org/HttpCoreModule#server_name )
Крім того, * wildcard відповідає будь-якій кількості піддоменних частин, тому * .domain.com відповідає www.sub.domain.com. ( http://nginx.org/en/docs/http/server_names.html#wildcard_names )
Якщо ця документація невірна, який фактичний порядок узгодження?