Hi,
ARgh, excuse me for the low cluerate. I've spend hours without
getting anything to work now so I am asking for a little hint.
I want my Apache to find the VirtualHost based on the X-ServerName
header (sent from my proxy) instead of the Host header. Sounds
simple enough, no?
So I've configured apache like:
...
Listen 127.0.0.1:8360
NameVirtualHost *
<virtualhost _default_>
ServerName dev.site1.com
ServerAlias site1.develooper.com
PerlSetVar site site1
DocumentRoot /home/web/htdocs/site1/
</virtualhost>
<virtualhost _default_>
ServerName dev.site2.com
ServerAlias site2.develooper.com
PerlSetVar site site2
DocumentRoot /home/web/htdocs/site2/
</virtualhost>
...
I have a mod_perl PostReadRequest handler that among other things does
this:
my $host = $r->header_in('X-ServerName');
$r->hostname($host) if $host;
so when I do a request for http://site2.develooper.com/ it goes nicely
through the proxy and get the right X- header set to dev.site2.com and
such, but the backend httpd (with the above configuration) doesn't
pick up the virtualhost.
So one of two:
The virtualhost is picked before PostReadRequest is being invoked.
My <virtualhost ...> configuration isn't right.
The basic goal is to work around mod_proxy setting the Host header to
Host: localhost:8360. (Maybe it could be accomplished in a simpler
way :-/ ).
- ask
--
ask bjoern hansen, http://ask.netcetera.dk/ !try; do();