Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SSL on Nginx throws error (SSL: error:0908F066:PEM routines:get_header_and_data:bad end line)

I generated my SSL from SSLforFree/ZeroSSL, and according to the steps for installation listed on their website, https://zerossl.com/help/installation/nginx/

  1. Downloaded the SSL Files
  2. Moved them to the Server
  3. Merged the certificate.crt & ca_bundle.crt with (cat certificate.crt ca_bundle.crt >> certificate.crt)
  4. Added following lines in the hosts file of nginx:
    ssl on;
    ssl_certificate /etc/ssl/certificate.crt;
    ssl_certificate_key /etc/ssl/private.key;
  5. Restarted Nginx Server with (sudo service nginx restart)
  6. Error received, and checked the error details by (journalctl -xe)
  7. Error was:
    nginx: [emerg] PEM_read_bio_X509_AUX
    (SSL: error:0908F066:PEM routines:get_header_and_data:bad end line)
like image 651
Sarthik Gupta Avatar asked Jun 22 '20 12:06

Sarthik Gupta


1 Answers

Merging files with cat certificate.crt ca_bundle.crt >> certificate.crt, merges the file without adding any next line character in it. After merging the files, open the newly created file, i.e, certificate.crt, and you'll see the file structure as follows:
-----BEGIN CERTIFICATE-----
certificate-1-text
-----END CERTIFICATE----------BEGIN CERTIFICATE-----
certificate-2-text
-----END CERTIFICATE-----

If your certificate looks like this, you can fix this by adding adding a new line character just before 5 hyphens of second begin certificate, i.e, it should look as follows after editing:
-----BEGIN CERTIFICATE-----
certificate-1-text
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
certificate-2-text
-----END CERTIFICATE-----

like image 63
Sarthik Gupta Avatar answered Nov 11 '22 22:11

Sarthik Gupta