2016-10-02 36 views
1

试图从我的应用程序的NodeJS访问我的SSL密钥和cetificate当我收到此错误:SSL的NodeJS键权限被拒绝

enter image description here

正如你所看到的,我已经添加了我的用户HACE权限对档案..我不知道还有什么要做?

+0

我有这样的问题太多,你有没有找到解决的办法? – ocramot

回答

2

好吧,我发现解决方案环顾四周。

基本上,LetsEncrypt正在生成/etc/letsencrypt/live//etc/letsencrypt/archive/中的证书文件。这两个文件夹的权限744(“拥有者可以读,写和执行;组和用户可以阅读”),但它是不够的:你必须给有权读取和执行:

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

这是当然不是一个很好的安全解决方案,但它是我发现的唯一工作方式,当然它比以root运行Node.js服务器更好!

来源: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