Setting up SSL on my server

I run a web server that hosts three different domains using named virtual hosts. What do I need to do to enable SSL connections (https) to these domains?

EDIT: As Joel pointed out I forgot to state that I'm running Apache 2.0 on Scientific Linux which is just RHEL rebranded.


The exact process is different depending on your platform and web server, but the basic process looks like (assuming you want a signed certificate that works for just about anyone visiting the site):

  1. Verify that the WHOIS information on the domain name is correct and that the administrative contact has a valid e-mail address.
  2. Assign the web site you want to secure its own dedicated IP address (only one SSL certificate can be assigned to an IP address).
  3. Generate a CSR (Certificate Signing Request) on the web server for the site that you plan to secure. The "common name" field should reflect the full domain name that the certificate will cover (i.e. www.example.com or secure.example.com).
  4. Purchase a certificate from a reputable SSL certificate provider, such as GoDaddy.
  5. Submit your CSR to the provider.
  6. The provider will then verify the request (GoDaddy sends an e-mail to the WHOIS administrative contact).
  7. Once verified, they will issue the signed certificate along with any intermediate certificates that might be required.
  8. Install the intermediate certificates first, per the instructions provided by your vendor.
  9. Install the signed certificate onto the server.
  10. Configure the web server to use the signed certificate.
  11. Finally, export and make a backup copy of the signed certificate (usually as a PFX file) in case you have to rebuild your web server.

In addition to the answers above, you also need separate IP addresses. One per SSL hostname.