Node.js NodeJS的动态主机

Node.js NodeJS的动态主机,node.js,Node.js,我希望构建一个带有NodeJS的服务器,它将接受来自动态主机列表的请求。例如,我可能让一个客户注册域“joesdomain.com”,另一个客户注册域“timsdomain.net”。这些值通过另一个进程存储在数据库表中。我希望它能处理这个问题,但我不确定它是否支持这个用例。我发现的大多数示例更像是mydomain.com/joesdomain或mydomain.com/timsdomain这样的子域。我想我可以读取数据库中已批准域的列表,然后在路由映射中使用这些值 以下是我的预期流程: 客户

我希望构建一个带有NodeJS的服务器,它将接受来自动态主机列表的请求。例如,我可能让一个客户注册域
“joesdomain.com”
,另一个客户注册域
“timsdomain.net”
。这些值通过另一个进程存储在数据库表中。我希望它能处理这个问题,但我不确定它是否支持这个用例。我发现的大多数示例更像是mydomain.com/joesdomain或mydomain.com/timsdomain这样的子域。我想我可以读取数据库中已批准域的列表,然后在路由映射中使用这些值

以下是我的预期流程:

  • 客户注册一个帐户,我们获得域名并将其指向我们的主机IP
  • 当访问者访问新域名时,我的NodeJS服务器将看到请求,然后处理路由(我预计90%的路由相同)

有没有人知道这是否可行,并希望为我指明正确的方向。我不想仅仅为了映射这些域而修改代码和重新部署代码。

如果您要将多个不同的域定向到您的服务器,那么您的服务器可以通过查看HTTP请求中的。浏览器将自动设置该标题,而最终用户无需执行任何操作

如果你看一下中的第5节,它说:

每当用户代理发出HTTP请求时,用户代理必须 只包含一个名为“Origin”的HTTP头,该头符合 以下ABNF[RFC5234]语法:


接受域列表中的请求是什么意思。请求来自IP地址,不一定来自主机。您可以进行反向查找,试图找出给定IP地址与哪个域关联,但这在许多方面都有问题,因为许多IP地址属于公司,并且与域不关联。您的意思是希望您的单个服务器接受对域列表的请求,以便向您的服务器发送请求?如果是这样的话,这就要求这些域通过DNS指向您的服务器,然后您的服务器就可以通过HTTP头告诉您它是哪个域。因此,如果joesdomain.com解析为我的IP,并且NodeJS获得请求,它将需要检查HTTP头以确认来源?对于普通用户来说,除了在浏览器中提供URL之外,这是否需要他们做任何特殊的事情?浏览器将为您设置URL,而用户不需要做任何事情。如果我希望有1000个指向我的主机的唯一域,所有域都由这个NodeJS实例提供(使用dietjs或turtle.io)这是否会成为每主机连接限制的问题(目前还不确定这是什么)@Sonorin-服务器端没有任何每主机连接限制。它们只是传入的单个HTTP请求,您的服务器将检查原始标头以查看它们的目标域。现在,如果您必须在服务器上查找源代码以确定如何处理请求,那么就需要在服务器上使用有效的主机查找方案(可能只需将它们全部保留在内存中)。单个浏览器有每个主机的连接限制,但没有服务器。我假设这些连接来自许多不同的浏览器,所以不应该限制每个主机的浏览器连接。