Thanks Eric, the rdns almost certainly *did *change so that could be the
culprit.  Do you have a definitive answer or a way to determine how apache
decides what "ServerName" should be when the directive is absent?  I'll
stick with the policy of using something (even nonsense as you suggested)
in the future, but I'm curious to understand the precise mechanics of what
is happening here.  Is there some way to get a log of apache's decision
making factors when determining which vhost to serve?

On Sat, Jun 23, 2018 at 11:28 AM, Eric Covener <cove...@gmail.com> wrote:

> On Sat, Jun 23, 2018 at 11:22 AM billy noah <billyn...@gmail.com> 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: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>
>

Reply via email to