0

我在aws上有三个实例。一个用于前端服务器的 nginx,以及两个后端 nodejs 实例。

我试图将 nginx 服务器设置为这些 node.js 实例的上游:

upstream node_servers {
        server private_ip:8124 weight=10 max_fails=3; // node server 1 private_ip:port
        server private_ip:8124 weight=10 max_fails=3; // node server 2 private_ip:port
}
server {
    listen  private_ip:80;     // nginx server private ip:port
    root /home/ubuntu/project/;
    server_name public_ip.eu-west-1.compute.amazonaws.com;  // nginx public DNS
    location / {

                try_files $uri $uri/ /index.html;
                proxy_pass http://node_servers/;

     }
}

在我的节点 1 服务器上,节点 2 服务器实例 app.js 代码:

app.listen(8124, "127.0.0.1");
console.log("listening on 8124");

我去nginx服务器公共域名,并没有真正发生任何事情,它只是永远加载发送请求......

4

1 回答 1

1

在您的节点代码中,您正在侦听 127.0.0.1 上的环回接口(仅来自本地主机的请求):

app.listen(8124, "127.0.0.1");

您必须监听您的特定私有 IP 或 0.0.0.0:

app.listen(8124, "0.0.0.0");
于 2012-11-22T18:30:35.860 回答