我有一个运行带有许多域(所有相同IP)的apache的VPS,但是我想开始为我的一些站点运行nodeJS / feathersJS。
我似乎无法弄清楚除了使用不同的端口之外如何运行多个实例。但是,如果您添加端口(甚至运行Apache站点的站点),所有其他站点都可供所有其他站点使用。
是否有一种简单的方法可以限制domain-1.com显示feathersjs网站,而domain-2.com仍然使用apache?
我缺少什么?
我是节点新手并从PHP人员转变为nodeJS人......所以请原谅我的无知。
我找到了一些我可以想办法使用的非featherJS模块,但是必须有一种更简单的方法来修改featherJS ...没有?
*编辑我发现了apache代理解决方案并实现了它。但是,现在我需要确保运行节点的端口不在我的其他域上使用。
Example.com现在使用apache代理东西运行localhost:3030但是anotherexample.com:3030
有没有办法限制这个?
我找到了一些为节点执行此操作的库,但似乎没有在feathersJS中很好地实现。
*再次编辑我认为提到的vHost羽毛是我正在寻找的东西,当我测试时会更新。
答案 0 :(得分:1)
有不同的方法可以解决它,但一种方法是使用mod_proxy用于Apache。在您的域配置中,您将指向运行所需应用程序的端口:
ProxyPass / http://www.example.com:8001/
ProxyPassReverse / http://www.example.com:8001/
虽然将Apache或NginX代理放在Node应用程序前面(并提供静态内容)通常对于更高流量的站点来说是一个好主意,对于较小的项目,您也可以使用Node而不必担心Apache。要在不同的域上托管不同的应用,您可以使用vhost Express middleware。可以找到如何使用Feathers设置它的示例here。