在AWS Lightsail配置Express HTTPS服务器遇EACCES权限拒绝问题求助
解决Express访问HTTPS证书文件的权限问题
方法一:调整证书文件的组权限(推荐)
- 先查看证书文件的当前权限信息:
ls -l /opt/bitnami/apache/conf/bitnami/certs/server.key - 将bitnami用户添加到证书文件的所属组(通常是
apache或root组,根据上一步的输出确认):sudo usermod -aG apache bitnami - 给证书文件添加组可读权限:
sudo chmod g+r /opt/bitnami/apache/conf/bitnami/certs/server.key sudo chmod g+r /opt/bitnami/apache/conf/bitnami/certs/server.crt - 重启你的Express应用即可。
方法二:复制证书到应用目录(更安全)
- 在项目目录下创建证书存放文件夹:
mkdir -p /home/bitnami/myproj/certs - 复制系统证书到项目目录:
sudo cp /opt/bitnami/apache/conf/bitnami/certs/server.key /home/bitnami/myproj/certs/ sudo cp /opt/bitnami/apache/conf/bitnami/certs/server.crt /home/bitnami/myproj/certs/ - 修改证书文件的所属用户为bitnami:
sudo chown bitnami:bitnami /home/bitnami/myproj/certs/server.key sudo chown bitnami:bitnami /home/bitnami/myproj/certs/server.crt - 更新代码中的证书路径:
const options = { key: fs.readFileSync('/home/bitnami/myproj/certs/server.key'), cert: fs.readFileSync('/home/bitnami/myproj/certs/server.crt'), } - 重启Express应用。
方法三:以root用户运行(不推荐)
直接用sudo启动应用,临时绕过权限问题,但会带来安全风险,生产环境禁止使用:
sudo node /home/bitnami/myproj/server/index.js
内容的提问来源于stack exchange,提问作者JobHunter69
相关产品推荐
相关产品推荐

