3. Centralized SSL certificate support
Cloud hosting providers that need to host multiple HTTPS websites on each server in their web
farms can also benefit from other SSL-related improvements in IIS 8.
These improvements help make the IIS platform more scalable and
manageable for hosting secure websites.
Managing SSL certificates on servers in web farms running earlier
versions of IIS was time-consuming because the certificates had to be
imported into every server in the farm. This made scaling out your farm
by deploying additional servers a difficult chore. In addition,
replicating certificates across servers in a farm was complicated by
the need to ensure manually that certificate versions were in sync.
IIS 8 now makes managing SSL certificates on servers in web farms
much easier by introducing a new central certificate store that lets
you store all the certificates for your web servers in a file share on
the network instead of in the certificate store of each server.
In addition to enhanced SSL manageability, IIS 8 includes significant improvements in the area of SSL
scalability. For example, in previous versions of IIS, the certificate
for an HTTPS website is loaded into memory (a process that could take
considerable time) upon the first client accessing the site, and the
certificate then remains in memory indefinitely. Hosting only a few SSL
sites on an IIS server, therefore, could lead to large amounts of
memory being wasted for secure sites that were rarely accessed.
In IIS 8, however, once a certificate is loaded into memory, it can
now be unloaded automatically after the secure site has been idle for a
configurable amount of time. In addition, certificates now load into
memory almost instantaneously, which eliminates the delay often
experienced by clients accessing secure sites for the first time in
earlier versions of IIS. (Only the certificates for HTTPS requests are
loaded, instead of all the certificates.) This change means that fewer
certificates are kept in memory, which means that more memory is
available on the server for other uses, such as running worker
processes.
These scalability and manageability improvements mean that instead
of hosting fewer than 500 secure sites on a single server, you can now
host more than 10,000 SSL sites on one IIS 8 server. And as the next
section discusses, configuring a central store for SSL certificates also increases the elasticity of your web farms.
Configuring a central store
To configure IIS to use a central store for storing SSL certificates, you first need to add the Centralized SSL Certificate Support feature. You can do this by starting the Add Roles And Features Wizard from Server Manager:
Once this feature has been enabled on your server, opening IIS Manager will show a Centralized Certificates node in the Management section of your server’s configuration settings:
Selecting the Centralized Certificates node displays a message saying that a central certificates location has not yet been set:
Clicking Edit Feature Settings opens a dialog box that lets you
enable this feature and configure the path and credentials for the
shared folder on the network where SSL certificates should be stored:
Note that the certificate password is necessary when you have created PFX files with a password that protects the private key. In addition, all your PFX files in the shared certificate store must use the same password. You cannot have a different password for each PFX file.
You can then group your SSL certificates in the Centralized Certificates pane by Expiration Date, or Issued By, to manage them more easily:
Once you’ve copied your SSL certificates to the central store, you can configure SSL websites to use the central store when you add them in IIS Manager:
Note that you don’t need to select your certificate by name when you
add a new SSL site in IIS Manager. If you had to do this for each new
secure site and you had hundreds or thousands of certificates in your
store, this would make configuring
SSL sites too difficult. Instead, you simply make sure that the name of
the certificate matches the host header name for the secure site that
uses it. This dynamic configuration of certificates for SSL sites means
that adding an SSL central store to your web farms makes your farms more elastic.