ใน apache2 โดยการออกแบบคำขอ http ใด ๆ กับโฮสต์ที่ไม่รู้จักจะถูกนำไปยัง VirtualHost ที่โหลดครั้งแรก มีวิธีปิดใช้งานคุณสมบัตินี้หรือไม่? กล่าวว่าแตกต่างกันฉันต้องการมีเว็บเซิร์ฟเวอร์ที่ผู้ใช้อาจได้รับชื่อ VirtualHost นิยามอย่างชัดเจนเท่านั้น ชื่อโฮสต์อื่นใดที่ไม่ได้กล่าวถึงอย่างชัดเจนในบรรทัด ServerName หรือ ServerAlias ควรถูกละเว้นไปโดยไม่แจ้งเตือน
เป็นไปได้ไหม
Listen 80
NameVirtualHost *
<VirtualHost _default_:*>
# Anything matching this host should be silently ignored.
</VirtualHost>
<VirtualHost *>
DocumentRoot /www/example1
ServerName www.example.com
</VirtualHost>
<VirtualHost *>
DocumentRoot /www/example2
ServerName www.example.org
</VirtualHost>
อัปเดต:ตามที่แนะนำด้านล่างและที่อื่น ๆ การเพิกเฉยต่อคำขออย่างเงียบ ๆ อาจไม่ใช่ความคิดที่ดีและอาจทำลาย RFC สำหรับ HTTP อย่างไรก็ตามเนื่องจากโฮสต์เสมือนได้รับการออกแบบมาเพื่อจำลองมีเซิร์ฟเวอร์ HTTP จริงแยกกันหลายวิธีการเพิกเฉยต่อความเงียบจึงไม่ดูเหมือนไม่มีเหตุผลสำหรับฉัน มันจะเหมือนกับการโฮสต์เสมือนบน IP และไฟร์วอลล์ปิด IP บางส่วน (อาจไม่เหมาะสำหรับไคลเอ็นต์ทั้งหมด)