The ServerName doesn't matter, since it's not used in the ProxyPass. Just make that server.de or whatever. Then create a ServerAlias *.server.de. Keep in mind that this setup allows something like a request to localhost-80.server.de which then gets proxied to localhost:80 and might serve things that were supposed to only be accessed locally. I'm not sure why you want to proxy. Is this something that could be solved using mod_vhost_alias ?
On Thu, Feb 28, 2019 at 1:04 AM Jakob M <jakob.manda...@googlemail.com.invalid> wrote: > Hello together, > > I need a little bit help setting up my apache to support a dynamic > ServerName. > > Use-Case: > I have a DNS server which forwards all requests *.server.de to my apache. > This leads to these 3 example domains (In fact we talk about 600-800 > Subdomains): > > - subomain1.server.de > - subomain2.server.de > - subomain3.server.de > > What I want to achiev is to only configure one VirtualHost but set the > ServerName on each request based on the subdomain which was used to access > the apache. > > Therefore I thought I could use variables to pass them to the directive. > Unfortunately the variable is not resolved in my configuration. > > Is there any way to pass an env variable to the directive ServerName, so I > can achiev the dynamic setup of ServerName based on the subdomain used? > > Example Config: > > <VirtualHost *:80> > UseCanonicalName Off > ProxyPreserveHost On > RewriteEngine on > ProxyRequests Off > > SetEnvIf Host "^([^.]*).server.de$" SUBDOMAIN=$1 > SetEnvIf Host "^([^.]*)-([^.]*).server.de$" HOSTNAME=$1 > SetEnvIf Host "^([^.]*)-([^.]*) .server.de$" PORTNUMBER=:$2 > > ProxyPassInterpolateEnv On > ProxyPass "/" "http://${HOSTNAME}${PORTNUMBER}/" interpolate > ProxyPassReverse "/" "http://${HOSTNAME}${PORTNUMBER}/" interpolate > > ServerName %{SUBDOMAIN}e.server.de > </VirtualHost *:80> > > Problem: The ServerName is now " %{SUBDOMAIN}e.server.de " -> The > variable gets not resolved. > > Kind regards, > Jakob >