Page 1

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

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

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

最后更新于

这有帮助吗?