0

我有两个域abc.comxyz.com指向同一个 NodeJS 服务器。基于域,我想加载将持续存在于该域的配置,即xyz.com我想连接到Database1abc.com我想连接到Database2

我该怎么做呢?甚至有可能或建议这样做吗?

我首先通过从req.hostname. 有没有更好的方法来做到这一点?

建筑学

4

1 回答 1

1

多种策略 -

1. 多次部署相同的代码,但在不同的端口上。

您的反向代理将请求发送到正确的服务器。我目前通过在同一个 vps 上托管多个幽灵博客来做到这一点。一个在端口 3000 上运行,另一个在 3010 上运行。

优点- 不那么脆弱的设置,更容易扩展,应用程序不需要了解操作环境。如果一个域受到攻击,另一个域不会自动受损。

缺点- 在资源受限的环境中可能无法实现。部署可能涉及重复性工作。

2.读取主机名

如果功能集几乎相同但只有域名发生变化,这是一个很好的选择。您根据主机名读取配置文件。

优点- 更容易部署,是资源受限环境的绝佳选择。

缺点- 不必要的紧密耦合,在服务器错误的情况下所有域都将变得不可用,扩展可能是一个问题。

就个人而言,我更喜欢部署在不同的端口上,除非代码需要取决于主机名。如果您只是在构建一个需要在 URL 中出现一些唯一标识符的产品,mycompany.slack.com那么在 dns 中使用子域可能是一个更好的主意。

于 2019-05-28T14:18:45.103 回答