How to install free SSL certificate on Nginx with StartSSL

First, we need issue SSL certificate. Startssl.com is a great way to install free signed SSL certifacate.

So, let’s signed up on Startssl.com with browser authenticate.

Then, go to control panel (https://startssl.com/ControlPanel) and click on Validations Wizard tab.

Select Domain Validation option.

startssl_validation_wizard_step_1

Next, enter your domain name:

startssl_validation_wizard_step_2

You will be asked to verify your domain via email.

startssl_validation_wizard_step_3

IF you can’t receive the verification code from the following email, you can try the website control validation.

startssl_validation_wizard_step_3_1

Then click ‘To order SSL certificate’.

startssl_validation_wizard_step_4

You should see Certificate Wizard page.

certificates_wizard_successfully_issued

Enter your full domain name, e.g. profile.example.com.

Now we need to generate Certificate Signing Request (CSR) file on our server.

Open your server terminal by ssh.

If you haven’t /etc/nginx/ssl directory, create it:

Generate the CSR file:

You will be asked a few questions about your server in order to embed the information correctly in the certificate.

Next, you will be promt to enter the ‘extra’ attributes.

If you enter challenge password then you will be asked about this password every time during nginx restart.

We skip this steps in our case.

Copy crt file data:

Return to Certificate Wizard page and paste this data to “Generated by Myself” option text area.

Click “Submit” button.

If everything was done correctly you will see successfully issued certificate page.

certificates_wizard_successfully_issued

Click to “certificate list” and retrieve you brand new certificate.

startssl_certificate_list

Download your certificates files archive.

Install certificate on nginx.

Extract your downloaded certificate files archive.

Upload new csr certificate to /etc/nginc/ssl with the following command:

Add to your host nginx config the following lines:

Restart nginx:

 

Conclusion

Now you have successfully installed free signed SSL certificate on your website that you can you use to safely transmit data.