Benim nginx.conf birden çok "sunucu" blok var. Belgeler, sunucu_adı eşleşmesinin gerçekleştiği sırada yanlış görünüyor.
Kıçım şöyle bir şey görünüyor:
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
}
Belgeleri ilk sunucuya gitmesi gerektiğini gösterirken neden host = www.sub.etkialanı.com ile istekleri doğru yere (ikinci sunucu) gidiyoruz anlamaya çalışıyorum.
Nginx belgeleri, sunucu bloklarının eşleşmeler için "sırayla" kontrol edildiğini belirtir; yani, * .sub.etkialanı.com sunucusuyla yapılan herhangi bir istek ikinci sunucu tarafından değil, ilk sunucu tarafından yakalanmalıdır. ( http://wiki.nginx.org/HttpCoreModule#server_name )
Ayrıca, * joker karakteri herhangi bir sayıda alt alan adıyla eşleşir, bu nedenle * .domain.com www.sub.domain.com ile eşleşir. ( http://nginx.org/tr/docs/http/server_names.html#wildcard_names )
Bu dokümantasyon yanlışsa, gerçek eşleşme sırası nedir?