Register and Install a Free SSL Certificate on Umbraco Cloud
Heads Up!
This article is several years old now, and much has happened since then, so please keep that in mind while reading it.
The first half of this procedure involves getting the free SSL Certificate. This can be used for any web host. The second half deals with setting up SSL on an Umbraco Cloud project, which would work with a free SSL Certificate or any other that you have obtained for your site.
Part 1: Get the Free SSL Certificate Files
- Go to https://www.sslforfree.com/
- Click "Login" in the upper-right, fill in your email and a password. Click the "Register" button (optional, but convenient when you need to renew your certificate).
- Add your domain and any related subdomains - I'd suggest at least adding "www".
- Go through the verification process. (For an Umbraco Cloud hosted site, I find the "Manual Verification (DNS)" option is the quickest, as long as you have access to the domain registrar.)
- Download all the resulting SSL files (it will be in a ZIP file) & extract them.
- Install "Open SSL": http://gnuwin32.sourceforge.net/packages/openssl.htm
-
Open notepad, copy & paste in this command:
pkcs12 -export -out C:\temp\sslforfree\cert.pfx -inkey C:\temp\sslforfree\private.key -in C:\temp\sslforfree\certificate.crt -certfile C:\temp\sslforfree\ca_bundle.crt
- Update it with the path to your extracted folder (from step 5). Select the new command text, and copy it.
- Open openssl.exe (C:\Program Files (x86)\GnuWin32\bin\openssl.exe)
- Paste in your updated command
- Type a password to set on the file - keep track of this.
- A new *.pfx file will now be in the directory with the other certificate files.
Part 2: Update Umbraco Cloud Project
- In your Umbraco Cloud project, go to Settings > Manage Domains.
- Scroll down to "Hostnames for Live". Make sure the domains you set up for the SSL Certificate are in the list. If not, add them.
- Scroll further down to "SSL Certificates"
- Under "Upload Certificate", browse to your new *.pfx file and type in the password you used in step 11 (above). Click the "Upload" button. You should then see your new certificated added to the list.
- Next, go to "Hostname bindings for SSL"
- Add bindings for all the related hostnames.
Notice that if you have multiple sites with different domains on your Umbraco Cloud site, you can upload separate SSL Certificates for each domain as assign them individually. This offers you fantastic flexibility.
Finally, if you haven't yet done it, you should add a url rewriting rule to your web.config to push all requests to the "https" version of your site:
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{HTTP_HOST}" matchType="Pattern" pattern="local" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
Now, go celebrate - your website is secured!
Heather Floyd is a freelance Umbraco and ASP.Net Developer with over a decade of Umbraco experience. She can be found at HeatherFloyd.com.