我有两个域abc.com
并xyz.com
指向同一个 NodeJS 服务器。基于域,我想加载将持续存在于该域的配置,即xyz.com
我想连接到Database1
和abc.com
我想连接到Database2
。
我该怎么做呢?甚至有可能或建议这样做吗?
我首先通过从req.hostname
. 有没有更好的方法来做到这一点?
我有两个域abc.com
并xyz.com
指向同一个 NodeJS 服务器。基于域,我想加载将持续存在于该域的配置,即xyz.com
我想连接到Database1
和abc.com
我想连接到Database2
。
我该怎么做呢?甚至有可能或建议这样做吗?
我首先通过从req.hostname
. 有没有更好的方法来做到这一点?
多种策略 -
您的反向代理将请求发送到正确的服务器。我目前通过在同一个 vps 上托管多个幽灵博客来做到这一点。一个在端口 3000 上运行,另一个在 3010 上运行。
优点- 不那么脆弱的设置,更容易扩展,应用程序不需要了解操作环境。如果一个域受到攻击,另一个域不会自动受损。
缺点- 在资源受限的环境中可能无法实现。部署可能涉及重复性工作。
如果功能集几乎相同但只有域名发生变化,这是一个很好的选择。您根据主机名读取配置文件。
优点- 更容易部署,是资源受限环境的绝佳选择。
缺点- 不必要的紧密耦合,在服务器错误的情况下所有域都将变得不可用,扩展可能是一个问题。
就个人而言,我更喜欢部署在不同的端口上,除非代码需要取决于主机名。如果您只是在构建一个需要在 URL 中出现一些唯一标识符的产品,mycompany.slack.com
那么在 dns 中使用子域可能是一个更好的主意。