Is there a way to have all virtual servers use the same SSL certificate without having multiple IPs?

Yes that is possible. The only thing each SSL certificate needs, is a unique socket (ip:port combination).

So, you have 2 options:

  1. Multiple sockets (eg. 192.168.0.1:443,192:168.0.1:444 etc.)

  2. Multiple subdomains, matching the same wildcard domain name.

With approach number 2, you'll need a wildcard ssl certificate. Set up any number of vhosts with unique subdomains for the domain your wildcard certificate matches, and configure the SSLEngine settings for just the first. The others will by defualt (or actually by their socket) terminate with the same ssl certificate


What you are looking for is called Server Name Indication, it is an extension to SSL that allows the client it indicate what host it is trying to connect to before the SSL certificate is provided by the server. See the Wikipedia page for information about what browsers support it, it's somewhat recent (2004-2006), but for example XP doesn't support it.

If that won't work for you, you will probably either have to require that users specify a different port in the URL, for example https://example.com:444/pagename as suggested by JudasIscariot1651, host all sites SSL sites under a sub-URL off a central certificate (for example https://secure.example.com/sitename.example.com/pagename).


Yes, you can. It will "just work", provided the single certificate is valid for every name that a client will use to reach the server (wildcard certificate or multiple name certificate). You can use the same certificate on any number of IP addresses or ports.