내 nginx.conf에 "서버"블록이 여러 개 있습니다. server_name 일치 순서에 대한 문서가 잘못된 것 같습니다.
내 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
}
문서가 첫 번째 서버로 가야한다고 지시 할 때 host = www.sub.domain.com을 가진 요청이 올바른 위치 (두 번째 서버)로 이동하는 이유를 알아 내려고합니다.
Nginx 문서에 따르면 서버 블록이 "순서대로"일치하는지 확인되므로 호스트 * .sub.domain.com에 대한 요청이 두 번째 서버가 아닌 첫 번째 서버에 의해 잡히게됩니다. ( http://wiki.nginx.org/HttpCoreModule#server_name )
또한 * 와일드 카드는 여러 하위 도메인 부분과 일치하므로 * .domain.com은 www.sub.domain.com과 일치합니다. ( http://nginx.org/en/docs/http/server_names.html#wildcard_names )
이 문서가 잘못된 경우 실제 일치하는 순서는 무엇입니까?