Node.js не будет загружать сертификаты Let's Encrypt - PullRequest
1 голос
/ 14 марта 2019
  https_options:
   { key: '/etc/letsencrypt/live/mywebsite.com/privkey.pem',
     cert: '/etc/letsencrypt/live/mywebsite.com/fullchain.pem' }

Я просто делаю https.createServer с указанными выше параметрами и получаю эту ошибку:

_tls_common.js:134
      c.context.setCert(cert);
                ^

Error: error:0909006C:PEM routines:get_name:no start line
    at Object.createSecureContext (_tls_common.js:134:17)
    at Server.setSecureContext (_tls_wrap.js:1017:27)
    at Server (_tls_wrap.js:897:8)
    at new Server (https.js:61:14)
    at Object.createServer (https.js:84:10)
    at startWWW (myserver.js:192:9)

Я протестировал пару ключ / сертификат, как это: (как другие предлагали в других вопросах, сообщения в блоге, темы форума)

openssl x509 -text -in /etc/letsencrypt/live/mywebsite.com/fullchain.pem
openssl rsa -text -in /etc/letsencrypt/live/mywebsite.com/privkey.pem

Обе команды напечатали несколько строк, казалось бы, корректного вывода.

lsb_release -a | grep Description
Description: Ubuntu 18.04.2 LTS

1 Ответ

2 голосов
/ 14 марта 2019

Это должно исправить:

key: fs.readFileSync('/etc/letsencrypt/live/mywebsite.com/privkey.pem', 'utf8'),

сделать то же самое для сертификата (например, читать в кодировке utf8)

...