如何在 pm2 中通过 https 提供静态文件?

Muh*_*B K 7 ssl node.js pm2

我们可以使用 PM2 中的简单命令通过 http 提供静态文件(如前端应用程序):

pm2 serve <path> <port>

我如何使用相同的命令通过 SSL 提供静态文件pm2 serve ?是否可以 ?

或者有其他使用 PM2 的替代品吗?

fal*_*erd 1

使用 PM2 通过 HTTPS 提供静态站点的解决方法是将服务添加为项目的依赖项,然后创建一个 npm 脚本来运行服务,并让 PM2 运行该脚本而不是直接为您的站点提供服务。

因此,例如:

添加serve到您的项目:

npm -i serve
Run Code Online (Sandbox Code Playgroud)

将脚本添加到您的package.json,其中“build”是您的构建目录,“8080”是您要提供服务的端口:

  "scripts": {
    "serve-build": "serve -l 8080 -s build --ssl-cert 'path_to/your_certificate.crt' --ssl-key 'path_to/your_key.key'"
  },
Run Code Online (Sandbox Code Playgroud)

然后,您不必调用pm2 serve <path> <port>,而是告诉 PM2 运行 npm 并指向您的脚本:

pm2 start npm --name your-pm2-process-name -- run serve-build
Run Code Online (Sandbox Code Playgroud)

这将使 PM2 运行您的脚本,而该脚本又会serve在提供证书时运行支持 https 的脚本。然后,该过程将以与 PM2 为静态站点本身提供服务相同的方式运行。