指向 Node.js 应用程序的多个网站,提取主机名

Posted

技术标签:

【中文标题】指向 Node.js 应用程序的多个网站,提取主机名【英文标题】:Multiple websites pointing to a Node.js application, extract hostname 【发布时间】:2021-04-25 07:03:39 【问题描述】:

我有一个 Node.js React 应用程序,它根据请求中提供的域作为变量输出从外部 API 获取的不同信息。

我希望将数百个域指向应用程序,并且需要提取根域(用于访问应用程序)然后在 API 请求中使用。

考虑到我将拥有许多域并且不能每次都编辑虚拟主机文件,我该如何大规模地执行此操作?

DNS: domain1.com CNAME domains.example.com    
App: Vistor goes to "https://domain1.com/example" -> *var domain = "domain1.com"* -> Customized page output

【问题讨论】:

***.com/a/4062281/6419723 ??? 请添加代码,向我们展示您已经尝试过的内容以及您面临的主要问题。 【参考方案1】:

我不知道您是否使用 Express,但 this answer 可能会为您指明正确的方向。您的服务器应该能够查看请求中的 Host 标头。我认为所有 HTTP 请求必须包含一个 Host 标头 (documentation),但它在您的应用中的公开方式可能因服务器而异。

【讨论】:

以上是关于指向 Node.js 应用程序的多个网站,提取主机名的主要内容,如果未能解决你的问题,请参考以下文章

如何为 80 端口上的网站制作 Node.js 多租户?

使用 Node.js Express 托管多个网站

保持生成过程中的 Node.js 结果有序

两个域名指向同一ip 对网站优化影响

在 Node.js 中连接到多个 MySQL 数据库

组合多个 node.js Web 应用程序