Amazon web services 安装具有相同实例和不同地址的服务器

Amazon web services 安装具有相同实例和不同地址的服务器,amazon-web-services,dns,server,port,google-compute-engine,Amazon Web Services,Dns,Server,Port,Google Compute Engine,我希望单独开发我的应用程序(API、作业、WEB),以便它保持以下方式: API:API.myaddress.com 乔布斯:JOBS.myaddress.com 网址:myaddress.com 我知道如何使用Amazon和GoogleComputing的不同实例来实现这一点,但是我想知道,我是否可以设置一个实例来实现所有这些,以及每个DNS名称空间,到该机器上的不同端口,如: api.myaddress.com位于xxx.xxx.xxx.xxx:8090 jobs.myaddress.

我希望单独开发我的应用程序(API、作业、WEB),以便它保持以下方式:

  • API:API.myaddress.com
  • 乔布斯:JOBS.myaddress.com
  • 网址:myaddress.com
我知道如何使用Amazon和GoogleComputing的不同实例来实现这一点,但是我想知道,我是否可以设置一个实例来实现所有这些,以及每个DNS名称空间,到该机器上的不同端口,如:

  • api.myaddress.com位于xxx.xxx.xxx.xxx:8090
  • jobs.myaddress.com位于xxx.xxx.xxx.xxx:8080
  • myaddress.com位于xxx.xxx.xxx.xxx:80

另外,如果可能的话,我不知道应该在哪里配置它(是在DNS中,还是在Amazon/Google中我的实例上的特定设置?

为什么您希望它们转到其他端口?当然没有必要。您可以使用DNS将所有这些域/子域指向单个服务器/ip地址,然后通过Web服务器配置将各个子域名称绑定到该服务器上的每个特定网站

在IIS中,您可以在IIS管理器工具中绑定,apache具有类似的功能:


听起来您正在寻找的是HTTP反向代理。这将是您机器上绑定到端口80的web服务器,根据传入的
主机:
头(或其他条件),它将请求转发到相应的Node.js实例,每个实例都绑定到自己的(不同)端口

有几种选择。一对立即浮现在脑海中的夫妇是HAProxy和Nginx

DNS不能用于控制请求到达的端口


另一种方法(可以说)是非传统的,但仍然有效,即设置3个CloudFront发行版,每个主机名一个。每个分发将请求转发到“源服务器”(您的服务器),并且可以为每个分发指定目标端口。由于CloudFront主要用于缓存服务,因此您需要从节点返回
缓存控制:
头,以便在适当的情况下禁用该缓存。。。但您也可以看到CloudFront可以为您缓存的响应的一些性能改进。

您正在寻找的是负载平衡器(在amazon的情况下是ELB)


设置负载平衡器以将流量发送到不同的端口,并在DNS级别为您的服务设置CNAMES,这些服务指向您拥有的3个负载平衡器。

我想这样做,因为我将在同一台机器上运行3个node.js实例(可能在Amazon或GoogleComputing中)。我问这个问题,因为当我将一个应用程序绑定到一个端口时,它不能被其他应用程序使用,所以我不知道该怎么做。