【发布时间】:2018-07-23 03:04:21
【问题描述】:
const httpsOptions = {
key: FS.readFileSync("/etc/letsencrypt/live/site/privkey.pem"),
cert: FS.readFileSync("/etc/letsencrypt/live/site/fullchain.pem")
};
EACCES: permission denied
尝试使用选项设置 HTTPS 服务器。在设置选项以传递给HttpS.createServer(httpsOptions,App); 时。我从letsencrypt获得了证书,但是尝试运行服务器会导致权限被拒绝错误。为 HTTPS 服务器加载证书和密钥文件的正确方法是什么?
【问题讨论】:
-
EACCES通常意味着您正在尝试做一些只有拥有额外权限的用户才能做的事情。您试图以什么用户身份运行您的服务器?哪些用户拥有这些证书文件?您尝试在哪个端口上运行您的服务器?这个问题适用吗? Node.js EACCES error when listening on most ports. -
@zero298 端口 3200,问题是节点不会读取我的证书文件,因为我试图将其作为 HTTPS 服务器而不是普通 HTTP 服务器运行
-
@zero298 刚刚尝试像往常一样使用
nodemon server.js运行服务器。这适用于 HTTP,但是一旦我尝试运行 httpsOptions 命令,就会出现错误。我需要从其他文件位置访问证书吗?
标签: node.js https lets-encrypt