In apache2 in base alla progettazione, qualsiasi richiesta http con un host sconosciuto verrà indirizzata al primo VirtualHost caricato. C'è un modo per disabilitare questa funzione? Detto diversamente, desidero disporre di un server Web in cui l'utente può solo arrivare a definizioni VirtualHost esplicitamente denominate. Qualsiasi altro nome host non esplicitamente menzionato in una riga ServerName o ServerAlias deve essere ignorato silenziosamente.
È possibile?
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>
Aggiornamento: come suggerito di seguito e altrove, ignorare in silenzio una richiesta potrebbe non essere una buona idea e forse rompe gli RFC per HTTP. Tuttavia, poiché gli host virtuali sono progettati per simulare più server HTTP fisici separati, l'approccio di ignoramento silenzioso non mi sembra irragionevole. Sarebbe lo stesso dell'hosting virtuale basato su IP e del firewall su alcuni degli IP (forse non per tutti i client).