創(chuàng)建亞馬遜云AWS S3云存儲靜態(tài)文件且可綁定自定義域名

麥子 工具軟件199字?jǐn)?shù) 1813閱讀6分2秒閱讀模式

亞馬遜云AWS有提供S3云存儲,我們可以將利用這個云存儲將網(wǎng)站的靜態(tài)文件分離或者是用這個云存儲單獨(dú)存儲私有或者公有的文件分享。當(dāng)然,任何AWS用戶擁有免費(fèi)5GB的存儲空間,甚至這個空間支持綁定自己的域名。我們有些朋友還利用這個空間搭建個人靜態(tài)網(wǎng)頁。

在這篇文章中,我們準(zhǔn)備記錄如何利用亞馬遜云AWS S3云存儲空間創(chuàng)建存儲桶且支持開放外部訪問,當(dāng)然包括支持綁定自己的域名的過程。

我們初始進(jìn)入亞馬遜云的話,可以在右上角選擇你準(zhǔn)備的區(qū)域,這里我默認(rèn)選擇的是美國東部地區(qū),這樣直接創(chuàng)建就默認(rèn)這個地區(qū),你也可以選擇其他地區(qū)。如上圖,設(shè)置存儲桶名稱,建議唯一性我們可以設(shè)置自己后面要綁定的域名的名稱,這樣也方便記憶。

在公共訪問權(quán)限的時候先根據(jù)建議勾選阻止公開訪問。后續(xù)應(yīng)該是可以用策略開啟URL訪問公網(wǎng)的。如果后續(xù)不可以訪問,這里我們再全部放行。

其他先默認(rèn)創(chuàng)建再說。

我們先上傳一個靜態(tài)文件到S3存儲中,然后打開這個文件看到對象URL,復(fù)制到瀏覽器打開看看。

看到無權(quán)限打開的。我們需要解決這個問題。

我們需要到當(dāng)前存儲桶中的「屬性」拖動頁面到最下面看到如上圖的 「靜態(tài)網(wǎng)站托管」默認(rèn)是關(guān)閉禁止的,我們需要開啟。

我們先默認(rèn)索引文檔寫index.html作為默認(rèn)主頁,如果我們是用來做靜態(tài)個人主頁的也可以根據(jù)需要設(shè)置。這里不寫就不行。

保存后,我們再刷新靜態(tài)URL的頁面還是不可以。那問題在哪里呢?

我們再回到上圖中的 「權(quán)限」菜單。我們需要設(shè)置下面的 「存儲桶策略」。

不過修改的策略居然無法保存,看來還是前面提到的公開權(quán)限需要啟動。

還是要編輯把屏蔽公共訪問權(quán)限關(guān)閉掉。

填寫規(guī)則是:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::存儲桶名稱/*"
        }
    ]
}

主要是最后一行的Resource 修改成我們自己的存儲桶名稱即可。保存后我們再訪問之前模擬演示上傳的index.html是可以公開訪問的。

如果我們需要自定義域名創(chuàng)建存儲桶的時候,設(shè)置域名作為存儲桶名稱,然后將你的域名別名解析到對應(yīng)亞馬遜云分配的地址。

舉個例子:

假設(shè)想要用域名S3.zhujipingjia.com訪問S3上的一個存儲桶,那么S3上存儲桶的名稱就必須是s3.zhujipingjia.com。假設(shè)這個存儲桶是us-west-1可用區(qū)的,那么S3默認(rèn)提供的資源訪問域名就是s3.zhujipingjia.com.s3-us-west-1.amazonaws.com。給域名s3.zhujipingjia.com做CNAME解析到s3.zhujipingjia.com.s3-us-west-1.amazonaws.com即可。

至此,我們可以完成當(dāng)前S3存儲的公開訪問。但是現(xiàn)在還需要做的事情就是綁定自己的域名,同時我們一般還需要給域名用到HTTPS。

訪問到亞馬遜云的 「AWS Certificate Manager」,我們需要申請SSL證書。

根據(jù)向?qū)В覀兛梢哉埱蠊凶C書。

輸入我們需要申請的證書域名,以及域名驗(yàn)證所有權(quán)方式可以選擇DNS或者電子郵件驗(yàn)證。其他的默認(rèn)即可提交。這里我用的是DNS驗(yàn)證。

根據(jù)提示,我們設(shè)置CNAME解析,等待驗(yàn)證自動會成功。

這里我們可以看到「已頒發(fā)」的字樣說明證書申請成功。

我們在SSL證書申請好之后,你也可以給你的S3存儲桶創(chuàng)建添加CloudFront CDN加速的時候引用存儲桶的時候可以同步選擇已經(jīng)配置的SSL證書。

如果我們確實(shí)需要綁定自己域名的話,我們建議創(chuàng)建S3云存儲的時候,用的桶名稱就用自己準(zhǔn)備的自定義域名。

我們要知道,亞馬遜云也有免費(fèi)提供CDN服務(wù),他們的CDN服務(wù)是CloudFront。我們創(chuàng)建CDN的時候可以選擇到自己S3的云存儲,主要是在上圖這里,備用域名這里要輸入我們的自定義域名。以及選擇我們自定義的SSL證書,這樣啟動之后,我們可以看分配給我們的CDN的域名。

我們需要在域名的DNS解析中添加CNAME的解析指向CDN的分配的域名。這樣我們就可以用自己的自定義域名打開存儲在S3的內(nèi)容且中間也用到亞馬遜云的CDN加速。

5/5 - (1 票)
 
  • 本文由 麥子 發(fā)表于 2024年7月19日 14:38:07
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://bjj.org.cn/asws3-setting-domain.html
  • 亞馬遜云S3
  • 亞馬遜云云存儲
  • S3綁定域名