簡體   English   中英

使用AWS S3和Route 53托管靜態網站

[英]Hosting static website with AWS S3 and Route 53

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

到目前為止,我已經執行了以下操作:創建存儲桶www.a.com,獲得適當的權限以使其成為網絡(公共可見)並上傳所有文件。 獲取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不起作用)。

我可以使用我的專用服務器以某種方式繼續提供電子郵件嗎? 如果我有WHM / cPanel服務器,應如何設置MX?

謝謝。

首先,我建議添加一個名為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/*"
      ]
    }
  ]
}

將{example-bucket}更改為{a.com}並保存。

現在轉到Route53>選擇域>轉到記錄集>創建記錄集

確保將“類型”設置為“ A”,然后在“別名”旁邊選擇“是”。 單擊“別名目標”區域,在S3網站下,您現在應該看到a.com。 選擇它,然后在底部選擇“創建記錄集”。

你完成了。

這是在S3上托管靜態站點時經常遇到的限制。 您有幾種選擇。

  • 使用dignslookup或類似工具確定S3存儲桶使用的IP地址。 這行得通,但是隨着亞馬遜改組其IP,最終可能會破裂。
  • 使用除Route53之外的提供“裸重定向”服務的DNS提供程序。 當有人訪問您的根目錄時,DNS提供程序將執行HTTP 301重定向到您的“ www”記錄。
  • 在您自己的服務器/ EC2實例上托管一個非常簡單的網站,該網站發出相同的HTTP 301重定向。

編輯:從2012年12月27日起,S3現在支持一種無需上述所有解決方法的方法。 查看有關S3的根網站托管的AWS博客。

暫無
暫無

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

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