这是使用 NGINX 作为 PM2 的 HTTP 代理前端的常用方法。NGINX 将允许快速提供静态文件、管理 SSL 协议并将流量重定向到您的 Node.js 应用程序。

下面是一个 Node.js 应用程序侦听端口 3001 和 NGINX 将流量从端口 443 (HTTPS) 转发到 3001 的示例。此示例还将处理 Websocket 连接。

nginx.conf:

upstream my_nodejs_upstream {
    server 127.0.0.1:3001;
    keepalive 64;
}

server {
    listen 443 ssl;

    server_name www.my-website.com;
    ssl_certificate_key /etc/ssl/main.key;
    ssl_certificate     /etc/ssl/main.crt;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_pass http://my_nodejs_upstream/;
        proxy_redirect off;
        proxy_read_timeout 240s;
    }
}

在Nginx 文档中了解更多关于这些选项的信息!一旦你有了这个,你所需要的只是一个在端口上运行的 PM2 链接的 Node.js 服务器3001,你将拥有一个生产就绪的 HTTP 服务器!

作者:Jeebiz  创建时间:2023-02-26 22:53
最后编辑:Jeebiz  更新时间:2023-02-26 22:54