如何使用 nodejs 处理 "two or more dot url"

How to handle a "two or more dot url" with nodejs

我想用节点 js 处理一个 url 像这样的:“music.youtube.com” 就像我们处理带参数的 url 一样。我验证了, youtube.com 和 music.youtube.com 有相同的ip,所以他们在同一个域名上。 (我无法验证端口,但我认为它们也一样) 提前致谢!

如前所述,您的问题需要弄清楚一点,但是话虽如此..

仅仅因为他们拥有 'same' IP,并不意味着他们在 'same' 域或 'server' 中。

大多数企业应用程序将位于 WAF(Web 应用程序防火墙)之后,该防火墙将在任何和所有请求进入之前充当代理。他们将读取传入请求、检查恶意操作等并选择转发请求是否到目标服务器。

因此,在 DNS 级别上,您的所有域都指向一个 'range' 的 IP,这些 IP 本质上是 WAF,然后 WAF 有关于它应该去哪里的路由指令(A 记录或 CName) .这通常会检查流量,如果正常,它将转发到包含 IP 等信息的 headers 核心 IP 或 CName(这是 NGINX 中的 proxypass 用于记录等的地方)

现在我们已经了解了一些背景知识..

如果您的应用程序 'different' 取决于 URL,那么您应该考虑设置 'two' 不同的应用程序并分别 运行 它们。虽然可以 运行 这些在同一台服务器上,但问题是为什么?

为什么问题是why?好吧,如果它们 in-deed 是分开的,那么您不希望它们竞争相同的资源/事件循环,是的,您可以 运行 它们作为同一个盒子上的两个单独的应用程序,但同样,为什么呢?通过旋转另一个带有专用于该应用程序的资源的盒子,您会得到更好的服务,这样您就可以更好地控制和分离关注点(如果应用程序 1 出现问题,它不会使应用程序 2 崩溃)

相反,如果 URL 更像是虚荣心 URL 那么您只需在您的 NGINX 配置中设置重定向规则以简单地传递 URL subdmain.tld.xyz 到您应用程序中的正确页面。