There are a number of articles out there on how to install security certificates from GoDaddy on an Nginx server, but the GoDaddy process seems to have changed since those articles were published, so I thought I would jot down the process I had to follow in the hopes that someone else finds it useful.
First, it’s worth mentioning that GoDaddy has pretty cheap SSL certificates. They aren’t the greatest, they just verify the domain, but they are pretty useful for Facebook apps, which is especially important given Facebook’s recent drive to have more users access Facebook via https. This article was immensely helpful in getting me started in the right direction, but it left out 2 important steps that kept the certificate from being properly recognized.
You’ll need to break from the instructions in that article after step 2.3. When you select ‘other’ from the webserver dropdown on GoDaddy, your zip will not include the intermediary cert (whether it’s a Starfield or GoDaddy cert). You’ll need this intermediary cert, so head on over to GoDaddy’s cert repo and download either the gd_intermediate.crt (or sf_intermediate.crt if it’s a Starfield cert) and upload to your server.
Instead of running
cat www.mysite.com.crt gd_bundle.crt > mysite_combined.crt
Run the following (replacing your domain name and intermediate cert name as necessary):
cat www.mysite.com.crt gd_intermediate.crt gd_bundle.crt > mysite_combined.crt
From there, the previously cited article should get you the rest of the way… BUT, there’s one more issue. When you try restarting Nginx, you’ll likely see an error. The intermediary cert is missing a line break, so you’ll need to open up the combined cert and change this:
-----END CERTIFICATE----------BEGIN CERTIFICATE-----