2016-10-02 5 views
1

Я получаю эту ошибку при попытке получить доступ к моему ключу Ssl и Cetificate из моего nodejs приложения:Nodejs SSL ключ разрешения отказано

enter image description here

Как вы можете видеть, я добавил мой пользователь разрешения зайца на файлы .. Я не знаю, что еще делать?

+0

У меня эта проблема тоже, вы когда-нибудь найти решение? – ocramot

ответ

2

Хорошо, я нашел решение вокруг.

В основном, LetsEncrypt создает файлы сертификатов в /etc/letsencrypt/live/ и /etc/letsencrypt/archive/. Эти две папки имеют права доступа 744 («владелец может читать, писать и выполнять; группы и пользователи могут читать»), но это не достаточно: вы должны дать разрешения на чтение и выполнение:

sudo chmod 755 /etc/letsencrypt/live/ 
sudo chmod 755 /etc/letsencrypt/archive/ 

Это, Конечно, это не хорошее решение по соображениям безопасности, но это единственное, что я нашел, что работает, и, конечно же, это лучше, чем запуск сервера Node.js как root!

Источник: https://groups.google.com/d/msg/node-red/g8cPmNgGnh0/guWq-8szBAAJ

+1

Я не думаю, что есть лучшее решение, Debian использует группу под названием 'ssl-cert' для ключевого файла по умолчанию'/etc/ssl/private/ssl-cert-snakeoil.key', и это предлагается здесь здесь также: https://stackoverflow.com/questions/38557213/giving-node-js-access-to-certificate-private-key/38794450#38794450 Но файл ключа должен иметь разрешения, такие как 640 (или 740 или 750 для вашего примеры), по соображениям безопасности вы не должны давать разрешение на чтение всем пользователям, как вы. – baptx