Because it works on my development box. However the config is kind of long, and posting it would not be helpful since I didn't set it up, I don't know what matters, and it has some very specific tricks.

Example trick. I have 3 Apache servers generated from 1 template. One to reverse-proxy http, one to reverse-proxy https, and one to run mod_perl. That allows mod_perl requests to be served as quickly as I can generate data, and then the big mod_perl process can serve someone else while the client receives data however slowly they receive it.

But some questions come to mind. First of all, what version of Apache do you have? It is possible that you have Apache 2 and therefore need to do some things differently to make stuff work. (What, I don't know. I use Apache 1.3. As does most of the net.)

Also unless there is a really specific reason to do otherwise, BindAddress *, NameVirtualHost *, and VirtualHost *. But, you say, you know your IP address, why use *? My attitude is that it is a moving part. For instance are you testing the server from the same box? Is it possible that something, somewhere, is realizing that you are going to localhost, and the IP address that you are requesting is always localhost, which was not bound for use by virtual servers?

I'd also suggest considering "stupid errors". Such as, "Is my configuration even being looked at, or is Apache running based on a copy of the configuration somewhere other than where I'm looking at?" Can you get ANY configuration change to take effect?

Cheers,
Ben