डिज़ाइन के अनुसार Apache2 में, अज्ञात होस्ट के साथ किसी भी http अनुरोध को पहले लोड किए गए 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>
अद्यतन: जैसा कि नीचे और अन्य जगहों पर सुझाया गया है, चुपचाप एक अनुरोध को अनदेखा करना एक अच्छा विचार नहीं हो सकता है और शायद HTTP के लिए RFC को तोड़ता है। हालाँकि, वर्चुअल होस्ट्स को अनुकरण करने के लिए डिज़ाइन किया गया है जिसमें कई अलग-अलग भौतिक HTTP सर्वर हैं, लेकिन मौन उपेक्षा दृष्टिकोण मेरे लिए अनुचित नहीं है। यह IP- आधारित वर्चुअल होस्टिंग के समान होगा और कुछ IPs को बंद करना होगा (शायद सभी क्लाइंट के लिए नहीं)।