2016-04-22 112 views
0

我已經開始今天進入AWS並創建了一個簡單EC2實例的Node.js應用偵聽端口3001AWS EC2自定義域 - 子域和端口

我可以通過我的公共DNS在ec2-12-34-123-123.eu-central.amazonaws.com:3001訪問它並獲得Hello World輸出。

不是我想設置一個自定義域到這個實例。

我已經做了以下步驟:

  1. 創建一個域與路線53
  2. 創建一個彈性IP,並將其分配給我的EC2實例
  3. 創建一個託管區和A記錄彈性IP

但我仍無法訪問我通過mydomain.com:3001

服務器

我做錯了什麼?

如何設置多個子域名轉發到特定的端口? 例如:

api.mydomain.com 
mydomain.com 
jenkins.mydomain.com 

等,當一切都被監聽另一個端口?

爲我的IP:port創建記錄我得到wrong value,因爲ip:port語法無效。

編輯:

剛做了一切。

  1. 創建EC2實例,端口發起節點應用80
  2. 創建彈性IP
  3. 註冊服務商註冊納秒爲自己的域
  4. 創建託管區域中創建A記錄www.mydomain .xyz + alias mydomain.xyz

當我嘗試去www.mydomain.xyz時,我只能用我的數據獲取Gandi頁面。

有誰知道我做錯了什麼?

回答

0
  1. 自從您註冊域並創建CNAME或A記錄指向您的服務器以來,它有多久了?這可能需要大約24小時才能傳播並開始解析到您的服務器。

  2. 子域是指向服務器的DNS條目。您不能將它們轉發到特定端口,它們基本上指向服務器上的所有端口。如果您不想在URL中包含端口號,那麼您需要在默認端口(端口80用於HTTP,或端口443用於HTTPS)上進行監聽。如果您需要在單臺服務器的不同端口上運行多個Web服務器,則需要向該服務器添加一個反向代理(如Nginx),以將不同的域名映射到不同的端口。

+0

您實際上可以通過'SRV'記錄指定特定端口的域名。更多關於這個問題可以發現[這裏](http://stackoverflow.com/questions/19015138/how-to-redirect-dns-to-different-ports)。 –

+0

@ItayGrudev這有點誤導。 SRV僅適用於某些協議,並且有很多協議(如HTTP)不支持SRV。 –