हमारे LAN पर मैंने Apache नाम-आधारित वर्चुअल होस्टिंग के लिए उनका उपयोग करने के इरादे से DNS सर्वर में कई 'नकली' TLDs सेट किए हैं। मैं इसे Ubuntu-10.04 LAMP सर्वर पर मास-वर्चुअल-होस्टिंग (यानी VirtualDocumentRoot) के साथ जोड़ना चाहूंगा।
हालाँकि, मैं इसे सही vhost का चयन करने के लिए नहीं प्राप्त कर सकता हूँ!
यहाँ अपाचे विन्यास का सारांश दिया गया है:
NameVirtualHost 10.10.0.205
<VirtualHost 10.10.0.205>
ServerName *.test
VirtualDocumentRoot /var/www/%-3.0.%-2/test/%1/
CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>
<VirtualHost 10.10.0.205>
ServerName *.dev
VirtualDocumentRoot /var/www/%-3.0.%-2/dev/%1/
CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>
एक होस्टनाम जैसे कि www.domain.com.dev , सही ढंग से 10.10.0.205 का समाधान करता है, लेकिन हमेशा नीचे वाले के बजाय शीर्ष vhost का चयन करता है, जो अधिक निकटता से मेल खाता है।
मैं इस धारणा के तहत था कि Apache सबसे पहले किसी दिए गए IP के लिए शीर्ष vhost में डिफ़ॉल्ट करने से पहले ServerName से मेल खाने की कोशिश करेगा। मैं क्या गलत कर रहा हूं? या यह संभव नहीं है और क्या मुझे प्रत्येक TLD के लिए एक और आईपी का उपयोग करना चाहिए?
Apachectl -S आउटपुट (छंटनी):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev