How to install SSL certificate on nginx?

Prerequisites:

Extract all of the contents of the ZIP file that was sent to you and copy/move them to your server. The extracted contents will typically be named: your-domain.com.crt and ssl-bundle.crt

Note: In case you did not receive a Bundle from Sectigo in the email, you have to download and concatenate the following files in this order:

Your PositiveSSL Certificate - your-domain.com.crt
Intermediate CA Certificate - SectigoRSADomainValidationSecureServerCA.crt
Intermediate CA Certificate - USERTrustRSAAddTrustCA.crt
Root CA Certificate - AddTrustExternalCARoot.crt

The first file (your-domain.com.crt) can be obtained from the web panel at ClouDNS. The remaining 3 files must be downloaded from Sectigo.

Example command for Linux:

cat your-domain.com.crt SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot > your-domain.com.ca-bundle

Example command for Windowws:

type your-domain.com.crt SectigoRSADomainValidationSecureServerCA.crt USERTrustRSAAddTrustCA.crt AddTrustExternalCARoot > your-domain.com.ca-bundle

Installation:

1. Store the bundle in the appropriate nginx ssl folder

Example :

> mkdir -p /etc/nginx/ssl/example_com/
> mv ssl-bundle.crt /etc/nginx/ssl/example_com/

2. Store your private key in the appropriate nginx ssl folder,

Example :

> mv example_com.key /etc/nginx/ssl/example_com/

3. Make sure your nginx config points to the right cert file and to the private key you generated earlier:

server {
        listen 443;
        server_name domainname.com;
        ssl on;
        ssl_certificate /etc/ssl/certs/ssl-bundle.crt;
        ssl_certificate_key /etc/ssl/private/domainname.key;
        ssl_prefer_server_ciphers on;
}

Note: If you are using a multi-domain or wildcard certificate, it is necessary to modify the configuration files for each domain/subdomain included in the certificate. You would need to specify the domain/subdomain you need to secure and refer to the same certificate files in the VirtualHost record the way described above.

4. OCSP Stapling Support:

Although optional, it is highly recommended to enable OCSP Stapling which will improve the SSL handshake speed of your website. NginX has OCSP Stapling functionality enabled since version 1.3.7.

In order to use OCSP Stapling in NginX, you must set the following in your configuration:

>## OCSP Stapling
resolver 127.0.0.1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate FILE;

Where FILE is the location and filename (path) of the ca certificate bundle.

Note 1: For ssl_stapling_verify and ssl_stapling to work, you must ensure that all necessary intermediates and root certificates are installed.

Note 2: The resolver name may change based on your environment.

5. After making changes to your config file check the file for syntax errors before attempting to use it. The following command will check for errors:

> sudo nginx -t -c /etc/nginx/nginx.conf

6. Restart your server. Run the following command to do it:

> sudo /etc/init.d/nginx restart

7. To verify if your certificate is installed correctly, use Sectigo's SSL Analyzer.

Single SSL on multiple servers

These days it often happens to have multiple web servers for a single web page. If this is your case, you do not have to buy an SSL certificate for each server. You can use one single SSL certificate for all of them. To do it, you have to install the Private Key from the web server, on which CSR was generated and the certificates sent by Sectigo on each web server. Have in mind, that if you are using a Wildcard SSL certificate, the CSR must be generated with a wildcard. For example, if you will generate a CSR for Wildcard SSL certificate for domain name domain.com, the CSR must be generated for *.domain.com.


Last modified: 2024-02-06
Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more