我想单独开发我的应用程序(API,JOBS,WEB),以便它保持这种方式:
我知道如何使用亚马逊和GoogleComputing的不同实例做到这一点,但是,我想知道如果我可以设置一个实例来完成所有这些,并且每个DNS命名空间都会转到该机器上的不同端口,例如:
如果可以的话,我也不知道应该在哪里配置它(是在DNS中,还是我在亚马逊/谷歌的实例上的特定设置?)
答案 0 :(得分:0)
为什么要让他们去另一个港口?它当然没有必要。您可以使用DNS将所有这些域/子域指向单个服务器/ IP地址,然后通过您的Web服务器配置将各个子域名绑定到该服务器上的每个特定网站。
在IIS中,您可以在IIS管理器工具中绑定,并且apache具有类似的功能:
答案 1 :(得分:0)
听起来您正在寻找的是HTTP 反向代理。这将是您的计算机上绑定到端口80的Web服务器,并根据传入的Host:
标头(或其他条件)将请求转发到相应的Node.js实例,每个实例都绑定到一个(不同的)自己的端口。
有几种选择。一下就会想到的是HAProxy和Nginx。
DNS不能用于控制请求到达的端口。
另一种方法(可以说是)非传统但可行的方法是设置3个CloudFront分配,每个主机名一个。每个分发都会将请求转发给原始服务器" (您的服务器)和目标端口可以为每个端口指定。由于CloudFront主要用作缓存服务,因此您需要从Node返回Cache-Control:
标头以在适当的时候禁用该缓存...但您还可以看到CloudFront可以允许缓存的响应的一些性能改进你。
答案 2 :(得分:0)
您正在寻找的是负载均衡器(如果是亚马逊,则为ELB)。
设置负载均衡器以将流量发送到不同的端口,并在DNS级别为您的服务设置CNAMES,指向您拥有的3个负载均衡器。