W apache2 z założenia każde żądanie HTTP z nieznanym hostem zostanie przekierowane do pierwszego załadowanego VirtualHost. Czy istnieje sposób na wyłączenie tej funkcji? Innymi słowy, chcę mieć serwer WWW, na którym użytkownik może uzyskać dostęp tylko do jawnie nazwanych definicji VirtualHost. Każda inna nazwa hosta niewymieniona wprost w wierszu ServerName lub ServerAlias powinna zostać po cichu zignorowana.
czy to możliwe?
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>
Aktualizacja: Jak sugerowano poniżej i gdzie indziej, ciche ignorowanie żądania może nie być dobrym pomysłem i może zepsuć RFC dla HTTP. Ponieważ jednak wirtualne hosty są zaprojektowane do symulacji z wieloma oddzielnymi fizycznymi serwerami HTTP, metoda cichego ignorowania nie wydaje mi się nieracjonalna. Byłoby to tak samo, jak wirtualny hosting oparty na protokole IP i zapora ogniowa niektórych adresów IP (być może nie dla wszystkich klientów).