Today I got strange error on my production server when I tried to enable SSL on three domains. Since I use ISPConfig as hosting control panel I assumed it will work without problems. But I was wrong. I did little bit of research on this topic, and I found a simple solution.
If you look at /etc/apache2/ports.conf file, you will see:
1 2 |
NameVirtualHost *:80 Listen 80 |
This way Apache knows which virtual host to serve based on the different host names. And it works fine for *:80 port. But, for 443 port it’s disabled, so you need to update ports.conf as follows to make it work:
1 2 3 4 |
<IfModule mod_ssl.c> NameVirtualHost *:443 Listen 443 </IfModule> |
Make sure to restart Apache and it will work fine.
I hope this tip will save you some time.
Resources
More about Apache2 virtual hosts you can learn here. Other useful links I found while I was looking for solution:
Apache error: _default_ virtualhost overlap on port 443
Virtual hosts overlap on 443, first has precedence
VirtualHost Overlap on Port 443