將 Azure 的 Storage 服務綁定自訂網域

有一天,突然某個手上的專案上線後需要提供部分資料給 End User 下載,放在 Azure 的 Storage 中 Blob 裡的資料也是都有供外部直接存取的 URL 沒錯,但直接給 End User 類似 "<xxxxxxx>.blob.core.windows.net" 網域開頭的網址來下載檔案好像也怪怪的(個人心理因素,資安上有無風險考量不確定)。  

於是就查了一下資料...

結論是可以在 Azure 的 Storage 中綁定自訂(子)網域的,於是不囉嗦...就是開始動手進行綁定了😅


若已經建立好 Azure 的 Storage (儲存體) 帳戶名稱為 "shoppingstorage",理論上放在其 Blob 服務內部容器的 Blob 資料,都有一個獨立的 URL 可供存取該 Blob 資料,如果放置資料的方式如下圖結構設計:


那理論上 Storage (儲存體) 就會有建立網域 "shoppingstorage.blob.core.windows.net" 內部的 container 即為下一個階層的網址路由,而放在該 container 中的 blob 檔案即為一個獨立的 blob 實體,所以可以透過下列網址:
"https://shoppingstorage.blob.core.windows.net/photos/mypicture1.jpg" 來直接讀取 mypicture1.jpg 這個檔案。

今天想要改變的是使用自訂網域,例如: myselfdomain.com 的網域,並且透過此網域的子網域(shopping.myselfdomain.com)來綁定 Storage 的 Blob 服務,提供給別人讀取 Blob 當中的資料。

最終,若要取得 mypicture1.jpg 這個存在 Blob 當中的檔案,可透過 "https://shopping.myselfdomain.com/photos/mypicture1.jpg" 來讀取。
(http 或是 https 是取決於該網域本身綁定的 ssl 憑證層級,在此不討論)
 


首先,進入到在 Azure 中已經建立好的 Storage (儲存體) 服務,接著在左邊選單中點選 "自訂網域"。


在 "自訂網域" 當中有兩種方式可 "擇一" 來綁定自訂網域使用,本篇採取下圖 "方法 1"。


好的,接著就打開網域供應商所提供的網域設定,本文以 GoDaddy 為例就會是如下畫面:


並且在中間的 "紀錄" 區域點選 "加入" 並選擇 "CNAME"。


接著填寫 CNAME 的相關設定值:


主機: 填入 "shopping"
指向: 填入 "shoppingstorage.blob.core.windows.net"

完成後點選 "儲存"。

 

再次回到 Azure 的 Storage 設定當中,在 "網域名稱" 輸入 "shopping.myselfdomain.com",接著點選 "儲存"。


若有(子)網域的設定錯誤,儲存後會拋出相關的錯誤通知訊息。


開始進行變更設定。




完成後,就可以利用 Azure Storage Explorer 取得其需要的 blob 實體檔案所在的 URL 路徑,並且把前面的網域部分換成 "shopping.myselfdomain.com" 即可取得該檔案。
(若要匿名讀取,請先針對該 container 設定為可匿名讀取)




由於 Azure 的 Storage (儲存體) 存取預設強制走 https 的傳輸方式,若自訂網域本身沒有掛載 SSL 憑證的話,請回到 Azure 的 Storage 中調整相關 "組態" 設定:



以上完成設定!


存取路徑即可從:
https://shoppingstorage.blob.core.windows.net/photos/mypicture1.jpg

變成:
http://shopping.myselfdomain.com/photos/mypicture1.jpg

即可讀取儲存在 Azure 的 Storage 中該 blob 檔案。
 

注意: 本篇文章中提到的網域或網址皆為虛構之設定。



有興趣的朋友也可以自行設定看,或是嘗試第二種的設定方式來完成綁定自訂網域的部分,寫成部落格文章分享給大家知道喔!


 


I'm a Microsoft MVP - Developer Technologies (From 2015 ~).
MVP_Logo

I focus on the following topics: Xamarin Technology, Azure, Mobile DevOps, and Microsoft EM+S.

If you want to know more about them, welcome to my website:
https://jamestsai.tw 


相關 Xamarin(.Forms) 推廣活動與課程,請詳見下列 Accupass (活動通) 列表:
https://www.accupass.com/organizer/detail/1910170752158115281580
 

本部落格文章之圖片相關後製處理皆透過 Techsmith 公司 所贊助其授權使用之 "Snagit" 與 "Snagit Editor" 軟體製作。