{"id":1917,"date":"2025-07-11T16:05:13","date_gmt":"2025-07-11T16:05:13","guid":{"rendered":"https:\/\/certpanel.com\/resources\/?page_id=1917"},"modified":"2025-08-01T17:21:34","modified_gmt":"2025-08-01T17:21:34","slug":"how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically","status":"publish","type":"page","link":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/","title":{"rendered":"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0"},"content":{"rendered":"\n<p>Easily secure your website on NGINX (Ubuntu) with an SSL (TLS) certificate. Follow our beginner-friendly step-by-step guide to installing HTTPS using OpenSSL or CertPanel&#8217;s AutoInstall SSL feature.&nbsp;<\/p>\n\n\n\n<p>If you\u2019re running a website on an NGINX server using the Ubuntu distro, enabling HTTPS is critical for both security and SEO. (HTTPS is <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/page-experience\" target=\"_blank\" rel=\"noreferrer noopener\">viewed by Google Search as a positive page experience factor<\/a>.) In this step-by-step guide, we\u2019ll show you two methods to install an SSL certificate on NGINX Ubuntu: &nbsp;<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><a href=\"#manual-method\">The manual method of using OpenSSL and a Comodo SSL\/TLS certificate<\/a>, and&nbsp;&nbsp;<\/li>\n\n\n\n<li><a href=\"#automation-method\">Using CertPanel&#8217;s AutoInstall SSL automation agent<\/a>. &nbsp;<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/certpanel.com\/autoinstall-ssl\">Learn more About AutoInstall SSL<\/a><\/div>\n<\/div>\n\n\n\n<p>Whether you\u2019re setting up a new site or securing an existing one, this article will walk you through the process step-by-step.\u202f&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Prerequisite: You Must Have an SSL Certificate\u202f<\/strong>&nbsp;<\/h2>\n\n\n\n<p>To install SSL on your Ubuntu server, you\u2019ll need a valid SSL certificate. We recommend choosing a <strong>Comodo SSL Certificate<\/strong> for trusted encryption, compatibility, and flexible options to suit different needs. (You can purchase an SSL\/TLS certificate easily through your CertPanel user account dashboard.)&nbsp;&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/certpanel.com\/ssl-certificates\">Buy an SSL Certificate<\/a><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"manual-method\"><strong>Manual Method: A Step-By-Step Guide to Installing SSL on NGINX&nbsp;<\/strong><\/h2>\n\n\n\n<p>This section will show you how to install and configure an SSL\/TLS certificate manually on your NGINX server. \u202f&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Generate &amp; Submit a Certificate Signing Request (CSR)&nbsp;<\/strong><\/h3>\n\n\n\n<p>Before you can install an SSL certificate on NGINX, you\u2019ll first need to generate a CSR. To do this on your Ubuntu server using OpenSSL, use a customized version of the following command:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>openssl req -new -newkey rsa:2048 -nodes -keyout &lt;your_domain.tld&gt;.key -out &lt;your_domain.tld&gt;.csr <\/code><\/pre>\n\n\n\n<p>Replace the generic key and CSR file names with your domain and key information:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"524\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-01-1024x524.jpg\" alt=\"A redacted screenshot example of the fields you'll fill out when generating a CSR when purchasing an SSL\/TLS certificate\" class=\"wp-image-1918\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-01-1024x524.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-01-300x153.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-01-768x393.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-01.jpg 1146w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Image caption:<\/em><\/strong><em> A redacted screenshot showing the fields of information required when completing a certificate signing request.<\/em>&nbsp;<\/figcaption><\/figure>\n\n\n\n<p>This will generate your CSR, which is a long string of base-64 characters that looks similar to this redacted example:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"586\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-02-1024x586.jpg\" alt=\"A redacted example of a certificate signing request (CSR)\" class=\"wp-image-1919\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-02-1024x586.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-02-300x172.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-02-768x439.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-02.jpg 1446w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Image caption:<\/em><\/strong><em> A redacted example of a certificate signing request.<\/em><\/figcaption><\/figure>\n\n\n\n<p>To complete the certificate request process:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Go to the <strong>CertPanel Dashboard<\/strong>, navigate to <strong>All Orders<\/strong>, and locate your certificate order.&nbsp;<\/li>\n\n\n\n<li>Click the <strong>Get Started<\/strong> button in the <strong>Order ID<\/strong> row.&nbsp;<\/li>\n\n\n\n<li>In the CSR submission field, paste the <strong>entire content<\/strong> of your CSR file as is \u2014 including the header and footer lines:&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>-----BEGIN CERTIFICATE REQUEST-----&nbsp;&nbsp;\n\n&#91;your encoded CSR content]&nbsp;\n\n-----END CERTIFICATE REQUEST-----<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Remove any extra spaces or missing lines.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Complete the Validation Process&nbsp;<\/strong><\/h3>\n\n\n\n<p>Complete domain validation using any of the methods listed below. We\u2019ll use HTTP file-based validation for this example. (This method is recommended for all domain validations with the exception of wildcard SSL certificates, which can\u2019t use file-based validation.)&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"243\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/file-based-domain-validation-1024x243.jpg\" alt=\"A view into the domain validation process that shows where you can select your preferred domain validation method (i.e., file-based validation or DNS-based validation)\" class=\"wp-image-1921\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/file-based-domain-validation-1024x243.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/file-based-domain-validation-300x71.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/file-based-domain-validation-768x182.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/file-based-domain-validation-1536x365.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/file-based-domain-validation.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> An example of the domain validation methods <\/em>you can choose from for domain validation.<\/figcaption><\/figure>\n\n\n\n<p>Download the specified text file from the CertPanel dashboard. You\u2019ll upload it to the server at the specified file path. For example: <em>\/var\/www\/html\/.well-known\/pki-validation\/&lt;provided_by_your_certificate_provider&gt;.txt<\/em>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"339\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/certificate-validation-status-info-1024x339.jpg\" alt=\"A screenshot showing the steps for domain validation and where you can download the file needed for file-based validation (i.e., HTTP validation)\" class=\"wp-image-1922\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/certificate-validation-status-info-1024x339.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/certificate-validation-status-info-300x99.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/certificate-validation-status-info-768x254.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/certificate-validation-status-info-1536x509.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/certificate-validation-status-info.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> A screenshot showing the file-based validation steps outlined in our Certificate Enrollment process.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Here\u2019s a quick example of how this will look:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"136\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-04-1024x136.jpg\" alt=\"A partially redacted example that shows what you'll see when you follow the file-based validation steps on your server.\" class=\"wp-image-1924\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-04-1024x136.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-04-300x40.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-04-768x102.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-04.jpg 1452w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> An example of the type of information you&#8217;ll see when you implement the HTTP file-based validation steps and upload the CA&#8217;s unique file to a specified location on your server.<\/em><\/figcaption><\/figure>\n\n\n\n<p>We need to provide the following read, write, and execute (755) permissions and read and write (644) permissions to the files:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod 755 \/var\/www\/html\/.well-known \nsudo chmod 755 \/var\/www\/html\/.well-known\/pki-validation \nsudo chmod 644 \/var\/www\/html\/.well-known\/pki-validation\/&lt;ca_example_file&gt;.txt<\/code><\/pre>\n\n\n\n<p>Check if the test file is accessible at <em>https:\/\/&lt;your_domain&gt;\/.well-known\/pki-validation\/<\/em> <em>&lt;validation_filename&gt;.txt<\/em>, as shown in the example below:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"200\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-05-1024x200.jpg\" alt=\"A redacted screenshot showing the HTTP validation information that displays when you check the specified URL where the unique file must be placed\" class=\"wp-image-1925\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-05-1024x200.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-05-300x59.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-05-768x150.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-05-1536x300.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/rudra-05.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> An example of what you&#8217;ll see when you check to verify whether your unique validation file has uploaded successfully to your server.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Click <strong>Request Verification<\/strong>.&nbsp;Wait for five minutes and then select <strong>Re-check Status<\/strong>. Do you still see the message stating that the &#8220;<a href=\"https:\/\/certpanel.com\/resources\/troubleshooting-pending-ssl-certificates\/\" target=\"_blank\" rel=\"noreferrer noopener\">certificate is pending validation<\/a>\u201d? Then check out our troubleshooting guide.&nbsp;<\/p>\n\n\n\n<p><strong>NOTE:<\/strong> You&#8217;ll be required to provide additional validation-related information for <a href=\"https:\/\/certpanel.com\/account\/registration?returnurl=%2Fcertpanel%2Fdashboard%2Fshop%3Fvalidation%3DOV&amp;site=certpanel&amp;guid=7f5cf994-2b33-4b23-9951-aef99e2a3a3d&amp;productId=38\" target=\"_blank\" rel=\"noreferrer noopener\">organization validation<\/a> (OV) and <a href=\"https:\/\/certpanel.com\/account\/registration?returnurl=%2Fcertpanel%2Fdashboard%2Fshop%3Fvalidation%3DEV&amp;site=certpanel&amp;guid=3a0c092a-016f-435c-b217-0d3199c9930b&amp;productId=126\" target=\"_blank\" rel=\"noreferrer noopener\">extended validation (EV) certificates<\/a>.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Download and Install the SSL\/TLS Certificate on NGINX Ubuntu<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Once the CA has successfully validated your domain (and any other relevant organization information for higher-validation certificates), it issues the SSL certificate. You can download the ZIP file for your certificate from the CertPanel dashboard, as shown below:&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/order-verification-screen-where-to-download-ssl-certificate-1024x455.jpg\" alt=\"An example order screen showing where you can download your SSL\/TLS certificate once the domain validation process is completed.\" class=\"wp-image-1926\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/order-verification-screen-where-to-download-ssl-certificate-1024x455.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/order-verification-screen-where-to-download-ssl-certificate-300x133.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/order-verification-screen-where-to-download-ssl-certificate-768x341.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/order-verification-screen-where-to-download-ssl-certificate-1536x683.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/order-verification-screen-where-to-download-ssl-certificate.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> This example order screen shows where to download your SSL\/TLS certificate once the issuing CA has completed validation and issued your certificate.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Unzip the file folder, which will contain at least these two files:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>my_ca_bundle.ca-bundle<\/strong> (the intermediate certificate)&nbsp;<\/li>\n\n\n\n<li><strong>&lt;your_domain.tld&gt;.crt<\/strong> (your domain\u2019s certificate)&nbsp;<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Upload Your Server Certificate and CA Bundle Files<\/em><\/strong>&nbsp;<\/h4>\n\n\n\n<p>Run <a href=\"https:\/\/www.linuxfoundation.org\/blog\/blog\/classic-sysadmin-how-to-securely-transfer-files-between-servers-with-scp\" target=\"_blank\" rel=\"noreferrer noopener\"><em>scp<\/em><\/a> to securely copy both files to your server. <strong>NOTE:<\/strong> Replace the placeholder certificate names and other info accordingly:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp -i &lt;secret_key_to_access&gt; .\\my_ca_bundle.ca-bundle .\\&lt;your_domain.tld&gt;.crt &lt;username&gt;@&lt;ip_address_to_access&gt;:\/home\/&lt;username&gt;&nbsp;<\/code><\/pre>\n\n\n\n<p>After uploading the certificates, use SSH to access your server and move the files to the correct location:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mv \/home\/admin\/my_ca_bundle.ca-bundle\/home\/admin\/&lt;your_domain.tld&gt;.crt \/etc\/ssl\/certs&nbsp;<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Create the Certificate Chain<\/em><\/strong>&nbsp;<\/h4>\n\n\n\n<p>Create a full certificate chain file for NGINX by combining your server certificate and CA bundle file:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/ssl\/certs\/&lt;your_domain.tld&gt;.crt \/etc\/ssl\/certs\/my_ca_bundle.ca-bundle | sudo tee \/etc\/ssl\/certs\/fullchain.pem<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"395\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ca-certificate-bundle-example-1024x395.jpg\" alt=\"A redacted example of a CA certificate bundle\" class=\"wp-image-1927\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ca-certificate-bundle-example-1024x395.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ca-certificate-bundle-example-300x116.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ca-certificate-bundle-example-768x296.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ca-certificate-bundle-example-1536x592.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ca-certificate-bundle-example.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> A redacted example of a combined CA certificate and server certificate bundle.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Configure your permissions using the following standard command. (Note the following permission values: 6 = read + write for the owner, 4 = read-only for group, and 4= specifies read-only for others):&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod 644 My_CA_Bundle.ca-bundle &lt;your_domain.tld&gt;.crt <\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4. Configure Your Permission Settings<\/strong>&nbsp;<\/h3>\n\n\n\n<p>You can either <strong>modify the default NGINX configuration file<\/strong> or (recommended) <strong>create a new configuration file<\/strong> specifically for your domain:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/sites-available\/default<\/code><\/pre>\n\n\n\n<p>or (recommended)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/sites-available\/&lt;your_domain.tld&gt;<\/code><\/pre>\n\n\n\n<p>Follow your chosen file path with the following:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server { \n\n    listen 443 ssl; \n\n    server_name &lt;your_domain.tld&gt;; \n\n    ssl_certificate \/etc\/ssl\/certs\/fullchain.pem; \n\n    ssl_certificate_key \/etc\/ssl\/private\/&lt;your_domain.tld&gt;.key; \n\n    location \/ { \n\n        root \/var\/www\/html; \n\n        index index.html; \n\n    } \n\n} \n\nserver { \n\n    listen 80; \n\n    server_name &lt;your_domain.tld&gt;; \n\n    return 301 https:\/\/$host$request_uri; \n\n} <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"383\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-certificate-chain-nginx-ubuntu-1024x383.jpg\" alt=\"An example of what you'll see when you install an SSL certificate on NGINX Ubuntu and related select distros.\" class=\"wp-image-1928\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-certificate-chain-nginx-ubuntu-1024x383.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-certificate-chain-nginx-ubuntu-300x112.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-certificate-chain-nginx-ubuntu-768x288.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-certificate-chain-nginx-ubuntu-1536x575.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-certificate-chain-nginx-ubuntu.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>To activate your site&#8217;s SSL configuration in NGINX, create a symbolic link from sites-available to sites-enabled:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ln -s \/etc\/nginx\/sites-available\/securitytest.site \/etc\/nginx\/sites-enabled<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 5. Test and Restart Your Server to Apply the Changes<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Test your configuration changes to ensure they work:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nginx -t&nbsp;<\/code><\/pre>\n\n\n\n<p>Next, restart your NGINX server:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx&nbsp;<\/code><\/pre>\n\n\n\n<p>Visit your website with the secure https:\/\/ protocol (in this example, we\u2019re using <em>https:\/\/securitytest.site<\/em>) to ensure the SSL certificate is active and valid.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-1024x532.jpg\" alt=\"Install SSL certificate NGINX Ubuntu example graphic showing an installed SSL\/TLS certificate on a test website\" class=\"wp-image-1929\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-1024x532.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-300x156.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-768x399.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-1536x798.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><em><strong>Image caption:<\/strong> An example SSL\/TLS certificate on a test site.<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"automation-method\"><strong>Automatic Method: Use AutoInstall SSL to Add SSL to Your Server\u202f<\/strong>&nbsp;<\/h2>\n\n\n\n<p>If manually handling all of those tasks isn\u2019t your preference (or doing so is infeasible because you have too many certificates to manage individually), then this next approach will be a better option.&nbsp;This involves the use of CertPanel&#8217;s AutoInstall SSL feature.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/certpanel.com\/account\/registration?returnurl=%2Fcertpanel%2Fdashboard%2Fbuy%2Fautoinstallssl?site=certpanel&amp;guid=8dc5bc2e-f952-4ab2-b377-55fb14cae827&amp;productId=287\">Get AutoInstall SSL<\/a><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Select Automation as Your Installation Method<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Log in to your CertPanel account. In the dashboard, click on <strong>All Orders<\/strong> and select <strong>the Get Started<\/strong> button next to<strong> <\/strong>your certificate order number on the next page.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Press <strong>Complete Certificate Enrollment<\/strong> to begin the process. Select <strong>Automatic Installation<\/strong> in the Certificate Enrollment process to specify your choice of installation method:&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"646\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/automatic-install-ssl-certificate-nginx-ubuntu-1024x646.jpg\" alt=\"A screenshot showing where you can choose whether to use the manual or automated SSL installation method on NGINX Ubuntu and other distros (as well as Windows IIS and Apache servers)\" class=\"wp-image-1930\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/automatic-install-ssl-certificate-nginx-ubuntu-1024x646.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/automatic-install-ssl-certificate-nginx-ubuntu-300x189.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/automatic-install-ssl-certificate-nginx-ubuntu-768x485.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/automatic-install-ssl-certificate-nginx-ubuntu.jpg 1337w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Image caption:<\/em><\/strong><em> A screenshot showing the selection options when it comes to whether you want to install your SSL certificate on NGINX Ubuntu or other distros manually or by using automation.<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Specify Your Server Type<\/strong>&nbsp;<\/h3>\n\n\n\n<p>For the Installation Instructions on the next screen, select <strong>Linux Server (Apache\/NGINX) as your web server<\/strong> and specify whether you want to use <strong>File validation<\/strong> or <a href=\"https:\/\/certpanel.com\/resources\/using-dns-validation-with-autoinstall-ssl\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>DNS validation<\/strong><\/a>.<strong>&nbsp;<\/strong>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"972\" height=\"1024\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-platforms-972x1024.jpg\" alt=\"A screenshot showing where to select your server type and specify the domain validation method\" class=\"wp-image-1931\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-platforms-972x1024.jpg 972w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-platforms-285x300.jpg 285w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-platforms-768x809.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-platforms.jpg 1410w\" sizes=\"auto, (max-width: 972px) 100vw, 972px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Image caption:<\/em><\/strong><em> What you&#8217;ll see when selecting your server type and preferred domain validation method. <\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Install the Automation Agent &amp; Your Certificate on NGINX <\/strong>&nbsp;<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Install AutoInstall SSL on NGINX (Ubuntu)<\/em><\/strong>&nbsp;<\/h4>\n\n\n\n<p>SSH into your server and begin the installation process using the following command:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo wget -qO - https:\/\/sb.files.autoinstallssl.com\/packages\/linux\/version\/latest\/get.autoinstallssl.sh | sudo bash -s<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Install Your Server Certificate<\/em><\/strong>&nbsp;<\/h4>\n\n\n\n<p>Run the AutoInstall SSL agent to install your SSL\/TLS certificate using the following command:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo runautoinstallssl.sh installcertificate --token &lt;your unique token info&gt; --&lt;validationtype file.txt&gt; --validationprovider filesystem<\/code><\/pre>\n\n\n\n<p class=\"has-background\" style=\"background-color:#f37121\"><strong>Related: <\/strong>Learn additional <a href=\"https:\/\/certpanel.com\/resources\/autoinstall-ssl-commands\/\" target=\"_blank\" rel=\"noreferrer noopener\">AutoInstall SSL Agent Commands<\/a>&nbsp;using this handy guide.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong><em>Verify the SSL Agent Was Installed Successfully<\/em><\/strong>&nbsp;<\/h4>\n\n\n\n<p>The AutoInstall SSL agent will automatically &nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>generate the CSR, &nbsp;<\/li>\n\n\n\n<li>initiate and complete domain validation (based on your selected method), &nbsp;<\/li>\n\n\n\n<li>retrieve the signed SSL certificate, and &nbsp;<\/li>\n\n\n\n<li>update your NGINX configuration with the appropriate certificate paths and settings. &nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Once the process is ready, simply <strong>press Enter<\/strong> to execute and finalize the installation.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"525\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-confirmation-1024x525.jpg\" alt=\"A confirmation message showing that you've installed AutoInstall SSL successfully on your server\" class=\"wp-image-1932\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-confirmation-1024x525.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-confirmation-300x154.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-confirmation-768x394.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-confirmation-1536x787.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/autoinstall-ssl-installation-confirmation.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Image caption:<\/em><\/strong><em> What you&#8217;ll see when you&#8217;ve successfully installed AutoInstall SSL on NGINX Ubuntu.<\/em><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Test to Ensure the Changes Are Live on Your Site<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Now the last process, simp<em>ly visit https:\/\/&lt;your_domain.tld&gt;<\/em> and verify it is using a secure, encrypted connection (HTTPS).&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-1024x532.jpg\" alt=\"Install SSL certificate NGINX Ubuntu example graphic showing an installed SSL\/TLS certificate on a test website\" class=\"wp-image-1929\" srcset=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-1024x532.jpg 1024w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-300x156.jpg 300w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-768x399.jpg 768w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example-1536x798.jpg 1536w, https:\/\/certpanel.com\/resources\/wp-content\/uploads\/ssl-cert-example.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Image caption:<\/em><\/strong><em> A screenshot of a test website&#8217;s SSL\/TLS certificate information, which demonstrates that the certificate has been successfully installed on the site&#8217;s server. <\/em><\/figcaption><\/figure>\n\n\n\n<p>That\u2019s it! Now, you\u2019ve successfully set up AutoInstall SSL to automatically handle SSL\/TLS certificate installations on your server for this domain.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Choose Automatic Installation Over Manual?<\/strong>&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Stay Ahead of Short-Term Certificate Expirations<\/strong>&nbsp;<\/h3>\n\n\n\n<p>As major browsers and certificate authorities shift toward shorter certificate lifespans (e.g., <a href=\"https:\/\/www.thesslstore.com\/blog\/47-day-ssl-certificate-validity-by-2029\/\" target=\"_blank\" rel=\"noreferrer noopener\">47-day validity<\/a>), manually tracking renewals becomes a burden. Automation ensures your certificate is always up to date \u2014 avoiding unexpected security warnings or outages.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. Frees Up Time So You Can Focus on Other Priorities<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Automatic installation via CertPanel\u2019s AutoInstall SSL agent handles the entire process \u2014 everything from CSR generation and domain validation to certificate deployment \u2014 within minutes.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3. No More Typos or Misconfigurations<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Manual setups can be error-prone, especially when dealing with NGINX config files and certificate paths. AutoInstall SSL applies configurations with precision, saving you from hard-to-troubleshoot mistakes.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4. Never Worry About Renewal Deadlines Again<\/strong>&nbsp;<\/h3>\n\n\n\n<p>With auto-renewal enabled, CertPanel AutoIstall SSL makes sure your certificates stay valid \u2014 no need to set calendar reminders or face last-minute panic when an SSL expires.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5. Perfect for First Timers and Non-Techies<\/strong>&nbsp;<\/h3>\n\n\n\n<p>You don\u2019t need to master OpenSSL commands or dig through NGINX settings. Just run one simple command to install the AutoInstall SSL agent, and it takes care of everything behind the scenes.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Questions<\/strong>&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What if I already have an SSL certificate installed on NGINX Ubuntu \u2014 can I replace it with a new one?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Yes. Simply upload the new .crt, .key, and .ca-bundle files, replace the paths in your NGINX config, and reload the server. Make sure the filenames and permissions are updated correctly.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Do I need to restart NGINX every time I renew or update my SSL certificate?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Yes, after renewing or updating your certificate files, you must reload or restart NGINX Ubuntu to apply the changes:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl reload nginx&nbsp;&nbsp;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What\u2019s the difference between fullchain.pem and certificate.crt in NGINX?<\/strong><\/h3>\n\n\n\n<p>The fullchain.pem combined file includes your domain certificate and the intermediate CA bundle. NGINX requires the full chain to establish trust, which is why we concatenate both files when creating fullchain.pem.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How can I verify if the SSL certificate is installed correctly?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Use a browser to check for HTTPS and a valid certificate, or use tools like:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -Iv https:\/\/yourdomain.com&nbsp;&nbsp;<\/code><\/pre>\n\n\n\n<p>Alternatively, try online SSL checkers like CertPanel\u2019s SSL Monitor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Is it safe to leave my private key on the server?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Yes, provided that it&#8217;s stored in <em>\/etc\/ssl\/private\/<\/em> with 600 permissions (i.e., no ability to read, write, or execute) and is only accessible by root only. (Never share or expose your .key file.)&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Will AutoInstall SSL overwrite my existing NGINX configuration?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>No. AutoInstall SSL safely appends SSL-related directives. If it detects an existing SSL config, it will update only the relevant sections without affecting unrelated settings.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Can I run AutoInstall SSL in non-interactive mode (for scripts or automation)?<\/strong>&nbsp;<\/h3>\n\n\n\n<p>Yes, the agent supports non-interactive execution with flags like <em>&#8211;token<\/em>, <em>&#8211;validationtype,<\/em> and <em>&#8211;validationprovider<\/em>, making it ideal for CI\/CD or provisioning pipelines.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Additional Tips<\/strong>&nbsp;<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ensure your server&#8217;s time and date are correct to avoid certain SSL validation issues.&nbsp;<\/li>\n\n\n\n<li>Regularly check your SSL certificates&#8217; expiration dates to avoid service interruptions.&nbsp;<\/li>\n\n\n\n<li>Consider using a strong Diffie-Hellman group server-level configuration setting for better security.&nbsp;<\/li>\n\n\n\n<li>Use a tool like <a href=\"https:\/\/certpanel.com\/ssl-monitor\" target=\"_blank\" rel=\"noreferrer noopener\">CertPanel\u2019s SSL Monitor feature<\/a> to test your SSL configuration and identify potential vulnerabilities.&nbsp;<\/li>\n<\/ul>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Easily secure your website on NGINX (Ubuntu) with an SSL (TLS) certificate. Follow our beginner-friendly step-by-step guide to installing HTTPS using OpenSSL or CertPanel&#8217;s AutoInstall SSL feature.&nbsp; If you\u2019re running a website on an NGINX server using the Ubuntu distro, enabling HTTPS is critical for both security and SEO. (HTTPS is viewed by Google Search<\/p>\n","protected":false},"author":15,"featured_media":1933,"parent":1965,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"wp-custom-template-expert-guides-detail","meta":{"_acf_changed":false,"_eb_attr":"","footnotes":""},"class_list":["post-1917","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0\" \/>\n<meta property=\"og:description\" content=\"Easily secure your website on NGINX (Ubuntu) with an SSL (TLS) certificate. Follow our beginner-friendly step-by-step guide to installing HTTPS using OpenSSL or CertPanel&#8217;s AutoInstall SSL feature.&nbsp; If you\u2019re running a website on an NGINX server using the Ubuntu distro, enabling HTTPS is critical for both security and SEO. (HTTPS is viewed by Google Search\" \/>\n<meta property=\"og:url\" content=\"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-01T17:21:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-nginx-ubuntu-featurepng.png\" \/>\n\t<meta property=\"og:image:width\" content=\"418\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/\",\"url\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/\",\"name\":\"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/wp-content\\\/uploads\\\/install-ssl-nginx-ubuntu-featurepng.png\",\"datePublished\":\"2025-07-11T16:05:13+00:00\",\"dateModified\":\"2025-08-01T17:21:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/#primaryimage\",\"url\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/wp-content\\\/uploads\\\/install-ssl-nginx-ubuntu-featurepng.png\",\"contentUrl\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/wp-content\\\/uploads\\\/install-ssl-nginx-ubuntu-featurepng.png\",\"width\":418,\"height\":200,\"caption\":\"The featured image for the article on how to install an SSL certificate on NGINX Ubuntu manually or by using automation\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expert Guides\",\"item\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/expert-guides\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SSL\\\/TLS Installation and Automation\",\"item\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/expert-guides\\\/ssl-tls-installation-and-automation\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/#website\",\"url\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/certpanel.com\\\/resources\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/","og_locale":"en_US","og_type":"article","og_title":"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0","og_description":"Easily secure your website on NGINX (Ubuntu) with an SSL (TLS) certificate. Follow our beginner-friendly step-by-step guide to installing HTTPS using OpenSSL or CertPanel&#8217;s AutoInstall SSL feature.&nbsp; If you\u2019re running a website on an NGINX server using the Ubuntu distro, enabling HTTPS is critical for both security and SEO. (HTTPS is viewed by Google Search","og_url":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/","article_modified_time":"2025-08-01T17:21:34+00:00","og_image":[{"width":418,"height":200,"url":"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-nginx-ubuntu-featurepng.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/","url":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/","name":"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0","isPartOf":{"@id":"https:\/\/certpanel.com\/resources\/#website"},"primaryImageOfPage":{"@id":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/#primaryimage"},"image":{"@id":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/#primaryimage"},"thumbnailUrl":"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-nginx-ubuntu-featurepng.png","datePublished":"2025-07-11T16:05:13+00:00","dateModified":"2025-08-01T17:21:34+00:00","breadcrumb":{"@id":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/#primaryimage","url":"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-nginx-ubuntu-featurepng.png","contentUrl":"https:\/\/certpanel.com\/resources\/wp-content\/uploads\/install-ssl-nginx-ubuntu-featurepng.png","width":418,"height":200,"caption":"The featured image for the article on how to install an SSL certificate on NGINX Ubuntu manually or by using automation"},{"@type":"BreadcrumbList","@id":"https:\/\/certpanel.com\/resources\/how-to-install-an-ssl-certificate-on-nginx-ubuntu-manually-or-automatically\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/certpanel.com\/resources\/"},{"@type":"ListItem","position":2,"name":"Expert Guides","item":"https:\/\/certpanel.com\/resources\/expert-guides\/"},{"@type":"ListItem","position":3,"name":"SSL\/TLS Installation and Automation","item":"https:\/\/certpanel.com\/resources\/expert-guides\/ssl-tls-installation-and-automation\/"},{"@type":"ListItem","position":4,"name":"How to Install an SSL Certificate on NGINX Ubuntu Manually or Automatically\u00a0"}]},{"@type":"WebSite","@id":"https:\/\/certpanel.com\/resources\/#website","url":"https:\/\/certpanel.com\/resources\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/certpanel.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/pages\/1917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/comments?post=1917"}],"version-history":[{"count":3,"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/pages\/1917\/revisions"}],"predecessor-version":[{"id":1936,"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/pages\/1917\/revisions\/1936"}],"up":[{"embeddable":true,"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/pages\/1965"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/media\/1933"}],"wp:attachment":[{"href":"https:\/\/certpanel.com\/resources\/wp-json\/wp\/v2\/media?parent=1917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}