簡體   English   中英

具有相同實例和不同地址的安裝服務器

[英]Setup Server with same instance and different address

我想分別開發我的應用程序(API,JOBS,WEB),以使其保持這種狀態:

  • API:api.myaddress.com
  • 職位:jobs.myaddress.com
  • 網址:myaddress.com

我知道如何使用Amazon和GoogleComputing的不同實例來執行此操作,但是,我想知道IF是否可以設置單個實例來完成所有操作,並且每個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://httpd.apache.org/docs/2.2/vhosts/examples.html

聽起來您正在尋找的是HTTP 反向代理 這將是您機器上的Web服務器,該服務器綁定到端口80,並根據傳入的Host:標頭(或其他條件)將請求轉發到適當的Node.js實例,每個實例都綁定到一個(不同的)自己的港口。

有幾種選擇。 馬上想到的一對是HAProxy和Nginx。

DNS無法用於控制請求到達的端口。

另一種方法(可以說)是非常規的,但盡管如此,它仍然可以工作,它是建立3個CloudFront發行版,每個主機名一個。 每個分發將請求轉發到“原始服務器”(您的服務器),並且可以為每個服務器指定目標端口。 由於CloudFront主要旨在用作緩存服務,因此您需要從Node返回Cache-Control:標頭以在適當的時候禁用該緩存...,但是您還可以看到響應上的一些性能改進,可以允許CloudFront為您緩存。

您正在尋找的是負載平衡器(如果是Amazon,則為ELB)。

設置負載均衡器以將流量發送到不同的端口,並在DNS級別上為您的服務設置CNAMES,以指向您擁有的3個負載均衡器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM