On Sat, Jun 23, 2018 at 11:22 AM billy noah <[email protected]> wrote:
>
> I am in the process of migrating some sites from a server running Apache 
> 2.4.7 to a new installation (Ubuntu 18) running Apache 2.4.29 and running 
> into some issues with VirtualHost matching.
>
> On my old server I have a config like this:
>
> <VirtualHost 12.34.56.78:80>
>     ServerAlias *.dev.example.com
>     VirtualDocumentRoot /var/www/dev/%1
> </VirtualHost>
>
> <VirtualHost 12.34.56.78:80>
>     ServerName example.com
>     ServerAlias www.example.com
>     DocumentRoot /var/www/example/
> </VirtualHost>
>
> As you can see, the ServerName directive is intentionally absent from the 
> first host which uses a VirtualDocumentRoot to serve directories based on the 
> subdomain. This has been working fine on the old server.

It's unwise. You should at least pick some nonsense name.

>
> In my new environment everything worked fine at first, but today (no updates, 
> nothing changed), oddly things changed. For some reason apache started 
> matching example.com to the first vhost and after some amount of debugging I 
> have determined that this is due to the lack of ServerName directive. When I 
> add one - anything really - the problem goes away. So to be clear, a working 
> config now looks like this:
>
> <VirtualHost 12.34.56.78:80>
>     ServerName anything.dev.example.com
>     ServerAlias *.dev.example.com
>     VirtualDocumentRoot /var/www/dev/%1
> </VirtualHost>
>
> <VirtualHost 12.34.56.78:80>
>     ServerName example.com
>     ServerAlias www.example.com
>     DocumentRoot /var/www/example/
> </VirtualHost>

Perhaps the reverse DNS of your IP address changed?  I don't think
it's directly the "system hostname".

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to