#
#
# apache ha il comportamento strano di indirizzare qualsiasi richiesta con un host sconosciuto
# Host: header al primo host virtuale trovato nella sua configurazione. ciò può causare
# gravi problemi quando più siti sono ospitati nella stessa istanza di apache
# ad esempio, una richiesta non riuscita per http://foo.bar.com/mancante
# potrebbe colpire un host virtuale di passeggeri e causare un comportamento non specificato a seconda
# di come si comporta quell'applicazione.
#
# la soluzione è assicurarsi che esista un host virtuale catch-all e che venga caricato
# prima di tutti gli altri file di configurazione degli host virtuali - e che questo host virtuale
# restituisca semplicemente un 404 (potresti anche fornire una pagina di errore amichevole)
#
# assumendo un layout in cui i file di configurazione di apache vengono caricati da, ad esempio:
#
# /etc/apache2/sites-enabled/*.conf
#
# è necessario inserire questa configurazione in un file chiamato
#
# /etc/apache2/sites-enabled/0.conf
#
# il '0.conf' assicura che venga caricato per primo. è possibile verificare che questa configurazione
# venga caricata per prima tramite
#
# ls -1 /etc/apache2/sites-enabled/ | sort | head -1
#
# questo dovrebbe stampare
#
# /etc/apache2/sites-enabled/0.conf
#
# una volta che la configurazione è in posizione, è possibile testare che effettivamente sia la
# configurazione predefinita/prima utilizzata tramite
#
# curl --silent --header 'Host: fu.bar.com' your.domain.com
#
# la pagina di errore 404 predefinita di apache verrà servita se questo è corretto. ovviamente
# è possibile configurare i server virtuali predefiniti in modo che abbiano una radice del documento effettiva
# ecc...
#
# un'altra nota importante. non è sufficiente semplicemente configurare il
#
# _default_:80
#
# host virtuale.
#
# è necessario anche configurare l'host effettivo denominato
#
# ServerName _default_
#
# il motivo di ciò è che l'hosting virtuale basato su nome utilizzerà, per impostazione predefinita,
# il primo *host virtuale basato su nome* quindi non è possibile fare affidamento su uno senza nome,
# che sarebbe sufficiente nella maggior parte delle situazioni.
#
# questa sezione catturerà le richieste agli host mancanti sotto una configurazione di host virtuale basata su nome
#
<VirtualHost *:80>
ServerName _default_
Redirect 404 /
</VirtualHost>
# e questo gestirà il resto
#
<VirtualHost _default_:80>
Redirect 404 /
</VirtualHost>