Fixing Let’s Encrypt Not Being Able to Find My VHost

Wanting to be able to process requests over SSL, but not wanting to self-sign so that it’s easier on any visitors that come across here led me to find the Let’s Encrypt CertBot. CertBot has a neat little client that will automagically set up SSL with minimal input from you. However, I was running into the problem: we were unable to find a vhost with a Server name or address 

I was using an Apache webserver running a CentOS 6 install from DigitalOcean, although ultimately I don’t believe that this had any bearing on my problem. An abbreviated version of my VirtualHosts file looked something like this:

<VirtualHost *:80>
 DocumentRoot /var/www/html/popthestuff
 ServerName popthestuff.com
 ServerAlias www.popthestuff.com
</VirtualHost>

<virtualHost *:80>
 DocumentRoot /var/www/html/funplusplus
 ServerName funplusplus.com
 ServerAlias www.funplusplus.com
</virtualHost>

<virtualHost *:80>
 DocumentRoot /var/www/html/magicaljukebox
 ServerName magicaljukebox.com
 ServerAlias www.magicaljukebox.com
</virtualHost>

<virtualHost *:80>
 DocumentRoot /var/www/html/fatluis
 ServerName fatluis.com
 ServerAlias www.fatluis.com
</virtualHost>

A quick google search led me to discover that the CertBot client can’t handle multiple vhosts in one file, that fix is easy enough. I split the vhosts into individual files, yet I was still running into an issue, only popthestuff was being detected by the client.

I noticed that there is a minor difference between my popthestuff vhost and all the other entries, the vhost tag. As it turns out, the certbot client is case-sensitive, so changing:

<virtualHost *:80>

To

<VirtualHost *:80>

Is what allowed the client to run flawlessly for me. Hope this helps anyone else having the same problem!

Leave a Reply

Your email address will not be published. Required fields are marked *