Ho più blocchi "server" nel mio nginx.conf. La documentazione sembra errata sull'ordine in cui avviene la corrispondenza server_name.
La mia configurazione è simile a:
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
}
Sto cercando di capire perché le richieste con host = www.sub.domain.com stanno andando nel posto giusto (il secondo server), quando la documentazione indica che dovrebbe andare al primo server.
La documentazione di Nginx indica che i blocchi del server sono controllati "in ordine" per le corrispondenze, il che significa che qualsiasi richiesta con l'host * .sub.domain.com deve essere catturata dal primo server, non dal secondo server. ( http://wiki.nginx.org/HttpCoreModule#server_name )
Inoltre, il carattere jolly * corrisponde a qualsiasi numero di parti del sottodominio, quindi * .domain.com corrisponde a www.sub.domain.com. ( http://nginx.org/en/docs/http/server_names.html#wildcard_names )
Se questa documentazione è errata, qual è l'effettivo ordine di abbinamento?