Request of a domain with no virtualhost in apache ends to default virtualhost

Solution 1:

Use a default virtual host configured to give the response you want in that situation.

Careful what you put there. I've seen clients get upset that we 'stole their domain' when the web host logo came up during some delegation issues =)

Solution 2:

This is expected behavior - if you have Apache serving on an IP that a domain resolves to but don't have that domain set up as a virtual host, you get the default virtual host. That's just how it works.

Solution 3:

Listen 80
NameVirtualHost *

<VirtualHost _default_:80>
    RewriteEngine On
    RewriteRule . - [G]
</VirtualHost>

This will send an HTTP 410 "Gone".

You can't prevent it from happening. Apache still needs to listen on that port and it has to do something with that connection.