让Node.js访问证书/私钥

Mik*_*ren 5 ssl node.js

我正在尝试在我的Node.js应用程序上使用HTTPS,就像它已经启用了其他任何东西一样.我已经安装了密钥和证书,但是Error: EACCES, permission denied当我尝试在应用程序上指向它们时,我得到了一个.

密钥和证书都在子文件夹中/etc/pki/tls,我试图像这样指向它们:

var privateKey = fs.readFileSync('/etc/pki/tls/private/serverKey.key').toString(),
    certificate = fs.readFileSync('/etc/pki/tls/certs/2_mikewarren.me.crt').toString();

var options = {
    key: privateKey,
    cert: certificate
}
Run Code Online (Sandbox Code Playgroud)

我是否需要调整密钥和证书的权限(通过chown)?如果是这样,这样做是否安全?

Mik*_*ren 5

我得到了我的代码访问权限。

我做了什么

  1. 创建了名为的新用户组 certAccess
  2. 添加我自己certAccesssudo useradd ec2-user -G certAccess
  3. 添加了 root 用户(他是唯一可以访问这些文件的用户) certAccess
  4. 更改了私钥的所有者: sudo chown ec2-user.certAccess /etc/pki/tls/private/serverKey.key

测试...

为了测试,我只是options在使用它后立即打印到控制台。确实,我看到了私钥和证书的内容(自己试试)。我还重新启动httpd服务器,并请求静态文件。我看到了它们,受 TLS 保护,没有故障。