2012-07-29 152 views
2

假設我目前在專用服務器上有網站www.a.com(完全靜態),並且我想切換到AWS。使用AWS S3和Route 53託管靜態網站

到目前爲止,我做了以下工作: 創建bucket www.a.com,給予適當的權限,使其成爲web(公開顯示)並上傳所有文件。獲取http://www.a.com.s3-website-eu-west-1.amazonaws.com

我在AWS Route 53中創建了託管區域,並自動獲得兩個記錄集,NS和SOA。 接下來,我爲* .a.com添加了一個CNAME。與價值http://www.a.com.s3-website-eu-west-1.amazonaws.com

問題是現在,我爲A記錄添加什麼?我沒有IP。 (作爲沒有A記錄的原因,www.a.com有效,但a.com不起作用)。

我可以使用我的專用服務器以保持服務郵件嗎?我應該如何設置MX,因爲我有一臺WHM/cPanel服務器?

謝謝。

回答

-1

這是在S3上託管靜態站點時經常遇到的限制。你有幾個選擇。

  • 使用,nslookup或類似工具確定你的S3桶使用的IP地址。這將起作用,但隨着亞馬遜在他們的IP周圍洗牌,它很可能最終破裂。
  • 使用提供「裸露重定向」服務的Route53以外的DNS提供商。當有人訪問您的根目錄時,DNS提供商將執行HTTP 301重定向到您的「www」記錄。
  • 在您自己的服務器/ EC2實例上託管一個非常簡單的網站,該網站發佈相同的HTTP 301重定向。

編輯:12月27日的2012年S3現在支持的方式來做到這一點沒有上面提到的所有解決方法。查看有關root website hosting from S3的AWS博客。

+0

謝謝,我使用的是赤裸裸的重定向服務至今。 – xBlue 2012-07-30 21:33:03

6

首先,我建議添加一個名爲a.com的額外存儲桶,然後不要刪除www.a.com,您將在後面添加一個CNAME,以便www.a.com在瀏覽器中重定向到a.com。

現在你已經創建了a.com桶,轉到屬性>靜態網站託管>啓用虛擬主機>輸入index.html和上傳文件與名字你的水桶。

然後去屬性>權限>編輯桶政策>下面的代碼粘貼:

{ 
    "Version":"2008-10-17", 
    "Statement":[{ 
    "Sid":"PublicReadForGetBucketObjects", 
     "Effect":"Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action":["s3:GetObject"], 
     "Resource":["arn:aws:s3:::example-bucket/*" 
     ] 
    } 
    ] 
} 

變化{例如鬥}到{} a.com和保存。

現在去Route53>選擇您的域名>轉到記錄集>創建記錄集

確保「類型」設置爲「A」,然後選擇「是」旁邊的「別名」。點擊進入別名目標區域,在S3網站下,您現在應該看到a.com。選擇它,然後在底部選擇「創建記錄集」。

大功告成。

相關問題