Well, this problem is relatively hard to describe. I installed Webmin+Virtualmin in a server. I have multiple IP addresses in the server (two NICs bonded).
Let's assume that the network is 18.104.22.168/29.
The Virtual Servers now are like this:
- Listens to all addresses (22.214.171.124 to 126.96.36.199)
- Self-signed certificate for SSL (issuer masterdomain.com)
- Listens to 188.8.131.52
- Self-signed certificate for SSL (issuer seconddomain.com)
You see, there's no problem at all using HTTPS at masterdomain.com (other than complains because the certificate isn't signed by a CA). TLSv1 says Server Hello, exchanges key, and it's done.
I used Wireshark to examine the packets, and found that it (seconddomain.com or 184.108.40.206) never sends the key or the 'Hello', but the index.php of the DocumentRoot of seconddomain.com within the TLSv1 response. Wireshark classifies it as
Alert (Level: Fatal, Description: Unexpected Message). The first 66 bytes conform with the expected header, and then Apache inserts the processed index.php ->
"<html><head><title>Main page of seconddomain.com!![...]" instead of the SSL key. That's in the packet were it is supposed to put the "Server Hello" (after a correct "Client Hello" from the client).
I don't know how to solve the issue, which is most likely related to the VirtualHost configuration. But the VirtualHost of seconddomain.com has the same configuration than masterdomain.com! -other than listening to only one IP instead of * (and of course, the SSL key, the SuexecGroup and the DocumentRoot fields are different).
Thanks in advance.