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