Eu tenho vários blocos de "servidor" no meu nginx.conf. A documentação parece errada sobre a ordem na qual a correspondência server_name ocorre.
Meu conf é algo como:
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
}
Estou tentando descobrir por que as solicitações com host = www.sub.domain.com estão indo para o local correto (o segundo servidor), quando a documentação indica que deveria estar indo para o primeiro servidor.
A documentação do Nginx indica que os blocos do servidor são verificados "em ordem" para correspondências, o que significa que qualquer solicitação com o host * .sub.domain.com deve ser capturada pelo primeiro servidor, não pelo segundo servidor. ( http://wiki.nginx.org/HttpCoreModule#server_name )
Além disso, o curinga * corresponde a qualquer número de partes do subdomínio; portanto, * .domain.com corresponde a www.sub.domain.com. ( http://nginx.org/en/docs/http/server_names.html#wildcard_names )
Se esta documentação estiver incorreta, qual é a ordem de correspondência real?