无法在 nodeJS 服务器上实现 HTTPS

时间:2021-01-15 05:24:21

标签: node.js amazon-ec2

我目前正在做一个带有 ReactJS 前端和 NodeJS 后端的登录门户,部署在 AWS EC2 实例上。我已使用 certbot 获取 SSL,并且 nginx 能够从 ReactJS 应用程序提供 /build。现在我的网站可以通过 https://my-website 访问,没有任何错误。

当它向我的服务器(使用 PM2 初始化)发送 API (https://my-website:8080/api) 调用时,它返回一个 net::ERR_CERT_AUTHORITY_INVALID。我的服务器使用 corsOptionsoptions: https://my-website

是否有我应该做的特定术语或实践?

我的尝试

  1. 使用 certbot 生成 server.keyserver.pem,并使用 https 包与它们一起创建服务器,但它返回 net::ERR_CERT_AUTHORITY_INVALID
  2. 使用 fs 打开为我的前端应用创建的凭据,但返回权限被拒绝。

我读过直接在后端操作凭据并不理想,应该采用类似于反向代理的方法,但是,我在阅读和尝试后仍然一无所知。我很感激任何帮助来实现这一目标!提前致谢!

我的修复

我只是在 certbot 中使用了从 server.js 获得的凭据。这是一个片段:

const credentials = {
   key: myKey.pem,
   cert: myCert.pem,
   ca: myCa.pem
}

https.createServer(credentials, app).listen(PORT)

主要是切换到root用户(sudo su),否则访问将被拒绝打开文件。希望这会有所帮助!

0 个答案:

没有答案