Node.js 从另一台服务器提供静态文件的nginx

Node.js 从另一台服务器提供静态文件的nginx,node.js,nginx,amazon-ec2,proxy,Node.js,Nginx,Amazon Ec2,Proxy,我在ec2服务器上托管了一个nodejs应用程序。目前,我让nginx代理应用程序,并从同一台机器上提供静态文件 出于安全原因,我正在实现另一个服务器,它将仅用作代理,而主应用程序将位于另一个实例上,并且将仅从单个ip进行内部访问 将请求代理到内部实例很容易,但我不知道如何为位于另一台服务器上的静态文件提供服务 location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|med$ root /us

我在ec2服务器上托管了一个nodejs应用程序。目前,我让nginx代理应用程序,并从同一台机器上提供静态文件

出于安全原因,我正在实现另一个服务器,它将仅用作代理,而主应用程序将位于另一个实例上,并且将仅从单个ip进行内部访问

将请求代理到内部实例很容易,但我不知道如何为位于另一台服务器上的静态文件提供服务

    location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|med$
        root /usr/src/www/static;
        access_log off;
        expires 24h;
    }
有可能做像这样的事情吗

     location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|med$
        root http://172.10.10.10/static;
        access_log off;
        expires 24h;
    }

如果是这样,我是否应该在应用程序上实现另一台nginx服务器来提供文件,并从新服务器进行代理?

在nginx上下文中,静态文件始终需要位于本地文件系统上。因此,您需要将代理传递到“应用程序机器”。您可能希望将应用程序放在第二台服务器上的nginx之后,这样您的“代理”计算机就只需执行一次代理传递,它不需要知道或关心什么是静态的,什么不是静态的(除非您出于安全原因需要在顶级代理中将它们分开)

这还有一个额外的好处,即您可以轻松地在应用层中添加更多服务器,并在它们之间实现负载平衡,而无需更改代理级别,只需将静态代理传递转换为上游(或使用“下一个服务器”)