在子域中托管多个节点app.js

时间:2018-11-18 15:50:45

标签: node.js docker nginx server vps

有没有一种方法可以在单个端口上托管多个nodejs app.js以实现多租户?在Docker或vps中

每个租户只能访问包含他/她的app.js的文件夹。

我想在node_module内创建一个程序包,并在该程序包内创建多个客户工作区文件夹,并从主nodejs导入与客户工作区匹配的子域主机名请求,从而激活* .mainDomain.com之类的野生子域,但我认为这可能看起来很傻,因为node_module内部的客户工作区可能看起来不安全

2 个答案:

答案 0 :(得分:2)

您不能对多个node.js应用程序使用相同的端口,但是可以利用nginx。您可以将nginx配置为在一个端口上侦听多个域名,然后将请求重定向到相应的node.js应用程序的IP和端口。

此链接可以帮助您实现: https://serverfault.com/questions/536576/nginx-how-do-i-forward-a-http-request-to-another-port

答案 1 :(得分:0)

  

有没有一种方法可以在单个端口上托管多个nodejs app.js以实现多租户?在Docker或vps中

在一台计算机上的同一端口上侦听的应用程序不能超过一个。如果要将流量从单个端口路由到多个应用程序或docker,则需要一个应用程序侦听端口并决定每次将传入请求路由到何处。应用程序的其余每个部分都必须侦听主机的不同端口。

关于您问题的第二部分,我认为您正在尝试做的事情很清楚。什么是main nodejs?为什么要在node_modules内创建一个文件夹?

相关问题