Hi everyone, I'm using ISPConfig version 3.0.5.4p8 on Debian 8.2, setup exactly according to the "perfect debian server" guide here on howtoforge. Server is Apache. I'm currently hosting 3 sites, 2 of which have SSL certs. The problem is if I try to access the 3rd with https, it serves up the 1st site I hosted... which is completely wrong. In other words, I have: server.hostname.tld -- my server's hostname 1) first site I created, has own SSL cert 2) second site I created, has own SSL cert 3) third site I created, no SSL Everything works as expected over http. But over https I get the following results: https : // server.hostname.tld -- expect to get: my server's default page // actually get: https : // [first site I created] https : // [first site I created] -- works correctly https : // [second site I created] -- works correctly https : // [third site I created] -- expect to get: [third site I created] // actually get https : // [first site I created] What am I doing wrong?
You're not doing anything wrong, that is just the way webservers work. When a webserver receives a request for a certain domain on a certain IP, it will look through the list of sites configured to run on said IP. If it does not find a site matching the domain requested, it will serve the alphanumerical first site it finds. For SSL sites, the same holds true - that means, if the requested site is not available via SSL, the webserver will serve the first SSL-enabled site it finds or an error, if there are no SSL-enabled sites at all. You can work around this by either: - giving the third site an SSL certificate as well - having two IPs for your server, one which only has non-SSL sites and one which only has SSL sites - creating a dummy site with a certificate, possibly self-signed, which will always be the very first in the servers' alphanumerical list of sites, so you at least avoid having content show up under a wrong domain for visitors, in Google etc.
Ah, thank you! I was pulling my hair out trying to figure this one out... I didn't realize Apache looked at them in alphanumeric order, but now it makes perfect sense. I took your last suggestion and made a dummy site, and prefixed the virtual host name with 000 so it would find it first. Everything works as expected now. Whew. Thank you.