AWSに3つのインスタンスがあります。1つはフロントエンドサーバーであるnginx用で、2つはバックエンドnodejsインスタンスです。
これらのnode.jsインスタンスのアップストリームにnginxサーバーをセットアップしようとしています:
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サーバーのパブリックドメイン名にアクセスしましたが、実際には何も起こりません。リクエストを送信するだけで永久に読み込まれます。