ฉันมีบล็อก "เซิร์ฟเวอร์" หลายรายการใน nginx.conf ของฉัน เอกสารดูเหมือนผิดพลาดเกี่ยวกับลำดับการจับคู่ server_name
ความเชื่อมั่นของฉันดูเหมือนว่า:
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 )
นอกจากนี้ * wildcard จะจับคู่ส่วนย่อยจำนวนเท่าใดก็ได้ดังนั้น * .domain.com จะจับคู่ www.sub.domain.com ( http://nginx.org/en/docs/http/server_names.html#wildcard_names )
หากเอกสารนี้ผิดลำดับการจับคู่ที่แท้จริงคืออะไร