W naszej sieci LAN skonfigurowałem kilka „fałszywych” TLD na serwerze DNS, z zamiarem wykorzystania ich do wirtualnego hostingu opartego na nazwie Apache. Chciałbym połączyć to z masowym wirtualnym hostingiem (tj. VirtualDocumentRoot) na serwerze Ubuntu 10.04 LAMP.
Nie mogę jednak uzyskać odpowiedniego hosta!
Oto podsumowanie konfiguracji Apache:
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>
Nazwa hosta, taka jak www.domain.com.dev , poprawnie rozwiązuje się do 10.10.0.205, ale zawsze wybiera górny vhost, zamiast dolnego, który jest bardziej zgodny.
Miałem wrażenie, że Apache najpierw spróbuje dopasować nazwę serwera, zanim domyślnie ustawi się na najwyższym vhostie dla danego adresu IP. Co ja robię źle? Czy to nie jest możliwe i czy muszę używać innego adresu IP dla każdej TLD?
Wyjścia apachectl -S (przycięte):
10.10.0.205:* is a NameVirtualHost
default server *.test
port * namevhost *.test
port * namevhost *.dev