O Apache usa o primeiro virtualhost se nenhum nome corresponder. Basta configurar um novo virtualhost como o primeiro com um nome aleatório, exibindo o que você quiser - ou retornando uma página 404.
Eu tenho uma configuração do Apache2 com vários VirtualHosts. Meu DNS está configurado para aceitar *.<domain>.<tld>
em vários domínios. Tudo está funcionando corretamente, mas se eu for para something-random-here.example.com
, eu pareço ter um VirtualHost inválido sendo selecionado (estou adivinhando o primeiro ou o último que encontrar). Existe uma maneira de dizer ao Apache para usar certas regras se nenhuma das entradas do VirtualHost corresponder ao domínio ou subdomínio? Eu preferiria retornar um 404.
O curinga inclui os arquivos de configuração do seu site:
Include path/to/site/confs/*httpd.conf
Organize seus arquivos conf do site para que eles sejam carregados em uma ordem esperada. Exemplo ...
01-httpd.conf
02-site1-httpd.conf
03-site2-httpd.conf
etc ...
O Apache irá ler isso em ordem. Em seguida, crie um que sempre carregue por último para capturar qualquer host virtual não correspondido e retornar um 404 em vez de carregar um site padrão.
99-catchall-httpd.conf
<VirtualHost *:8080>
ServerName null
ServerAlias *
Redirect 404 /
</VirtualHost>
<VirtualHost *:8443>
ServerName null
ServerAlias *
Redirect 404 /
</VirtualHost>
Certifique-se de substituir as portas por quaisquer portas que seu httpd esteja atendendo. Ou, se você tiver o httpd ouvindo em interfaces específicas, será necessário adicionar um catchall para cada interface da seguinte forma:
<VirtualHost 192.168.1.101:8080>
ServerName null
ServerAlias *
Redirect 404 /
</VirtualHost>
<VirtualHost 192.168.1.101:8443>
ServerName null
ServerAlias *
Redirect 404 /
</VirtualHost>
<VirtualHost 192.168.1.102:8080>
ServerName null
ServerAlias *
Redirect 404 /
</VirtualHost>
<VirtualHost 192.168.1.102:8443>
ServerName null
ServerAlias *
Redirect 404 /
</VirtualHost>
Espero que isso ajude. Eu uso esse método para carregar sites na ordem que eu especificar e impedir que hosts virtuais incomparáveis carreguem um site inesperado de forma não intencional.