本文介紹幾種特殊情境下的鏡像回源配置樣本。
樣本一
客戶A在華東1(杭州)地區建立了bucket-01,需實現如下情境:
當要求者訪問examplefolder目錄中不存在的檔案時,可以從
https://example.com
網站的destfolder目錄中回源檔案。需要檢查回源檔案的MD5值,MD5值不匹配的檔案不在bucket-01中儲存。
要滿足以上情境需求,請按如下步驟配置鏡像回源規則:
登入OSS管理主控台。
單擊Bucket 列表,然後單擊目標Bucket名稱。
在左側導覽列,選擇 。
在鏡像回源頁面,單擊建立規則。
在建立規則面板,按以下說明配置必要參數,其他參數保留預設配置。
參數
配置
回源類型
選中鏡像。
回源條件
選中檔案名稱首碼,並設定為examplefolder/。
替換或截取首碼
選中是否替換或截取首碼,並設定為destfolder/。
說明該選項僅在設定了回源條件中的檔案名稱首碼後顯示。
回源地址
第一列設定為https,第二列設定為example.com,第三列置空。
檢查MD5
選中是否檢查MD5。
當回源請求中返回的response包含Content-MD5欄位時,OSS會檢查回源檔案的MD5值與Content-MD5欄位值是否匹配。
匹配:用戶端將擷取檔案,且OSS儲存回源檔案。
不匹配:由於計算MD5需要完整的檔案資料,而此時檔案已經透傳回用戶端,所以用戶端能擷取到檔案,但OSS不會儲存回源檔案。
單擊確定。
以上規則配置完成後訪問流程如下:
要求者首次訪問
https://bucket-01.oss-cn-hangzhou.aliyuncs.com/examplefolder/example.txt
。如果bucket-01中不存在examplefolder/example.txt檔案,則OSS向
https://example.com/destfolder/example.txt
請求檔案。擷取到目標檔案後,OSS進行以下操作:
如果回源請求中返回的response包含Content-MD5欄位,OSS會計算回源檔案的MD5值,並與Content-MD5欄位進行匹配。MD5匹配通過則將檔案重新命名為examplefolder/example.txt後儲存到bucket-01,並將檔案返回給要求者;匹配不通過時僅返迴文件給使用者,不儲存該檔案到bucket-01。
如果回源請求中返回的response不包含Content-MD5欄位,OSS將檔案重新命名為examplefolder/example.txt後儲存到bucket-01,並將檔案返回給要求者。
樣本二
客戶B在華北2(北京)地區建立了bucket-02,擁有來源站點A(https://example.com
)、來源站點B(https://example.org
)兩個目錄一致的網站,需實現如下情境:
當要求者訪問bucket-02/dir1目錄中不存在的檔案時,從
https://example.com
網站的example1目錄中擷取。當要求者訪問bucket-02/dir2目錄中不存在的檔案時,從
https://example.org
網站的example2目錄中擷取。根據來源站點A和來源站點B是否設定重新導向策略,決定是否向重新導向指定的地址請求檔案。
要滿足以上情境需求,請參照樣本一中的操作指引配置以下兩條鏡像回源規則:
規則一:
參數
配置
回源類型
選中鏡像。
回源條件
選中檔案名稱首碼,並設定為dir1/。
替換或截取首碼
選中是否替換或截取首碼,並設定為example1/。
說明該選項僅在設定了回源條件中的檔案名稱首碼後顯示。
回源地址
第一列設定為https,第二列設定為example.com,第三列置空。
3xx請求響應策略
選中跟隨來源站點重新導向請求。
說明未選中跟隨來源站點重新導向請求時,OSS會直接將來源站點重新導向規則指定的地址返回給要求者。
規則二:
參數
配置
回源類型
選中鏡像。
回源條件
選中檔案名稱首碼,並設定為dir2。
替換或截取首碼
選中是否替換或截取首碼,並設定為example2/。
說明該選項僅在設定了回源條件中的檔案名稱首碼後顯示。
回源地址
第一列設定為https,第二列設定為example.org,第三列置空。
3xx請求響應策略
選中跟隨來源站點重新導向請求。
以上規則配置完成後訪問流程如下:
要求者首次訪問
https://bucket-02.oss-cn-beijing.aliyuncs.com/dir1/example.txt
。如果bucket-02下dir1目錄中不存在example.txt檔案,則OSS向
https://example.com/example1/example.txt
請求檔案。如果來源站點A針對example1/example.txt設定了重新導向規則,則OSS會向來源站點重新導向規則指定的地址重新發起請求,擷取到檔案後會將檔案命名為dir1/example1/example.txt儲存至bucket-02,並返回給要求者。
如果來源站點A未針對example1/example.txt設定重新導向規則,則OSS擷取到檔案後會將檔案命名為dir1/example1/example.txt儲存至bucket-02,並返回給要求者。
如果要求者訪問
https://bucket-02.oss-cn-beijing.aliyuncs.com/dir2/example.txt
,則通過鏡像回源規則擷取的檔案將儲存在bucket-02的dir2/example2目錄。
樣本三
客戶C在華東2(上海)地區建立了bucket-03和bucket-04兩個Bucket。其中,bucket-03為公用讀取,bucket-04為私人,需實現如下情境:
當要求者bucket-03根目錄下examplefolder目錄中不存在的檔案時,可以從bucket-04的examplefolder目錄中擷取目標檔案。
允許將請求URL中攜帶的query string傳遞到來源站點。
允許將請求URL中攜帶的
header1
、header2
、header3
三個HTTP header傳遞到來源站點。
要滿足以上情境需求,請參照樣本一中的操作指引配置以下鏡像回源規則:
參數 | 配置 |
回源類型 | 選中鏡像。 |
回源條件 | 選中檔案名稱首碼,並設定為examplefolder/。 |
來源站點類型 | 選中回源OSS私人Bucket,並在回源Bucket下拉式清單選擇bucket-04。 說明 配置來源站點類型時,OSS會在RAM服務中產生 |
回源地址 | 第一列設定為https,其他置空。 |
回源參數 | 選中攜帶請求字串。 OSS會將URL請求中的query string傳遞到來源站點。 |
設定HTTP header路由規則 | 選中傳遞指定HTTP header參數,並添加header1、header2、header3三個HTTP header。 回源規則不支援傳遞部分標準HTTP header,例如 重要 回源私人Bucket時,請勿選擇傳遞所有HTTP header參數,否則會導致回源失敗。 |
以上規則配置完成後訪問流程如下:
要求者首次訪問
https://bucket-03.oss-cn-shanghai.aliyuncs.com/examplefolder/example.png?caller=lucas&production=oss
。如果bucket-03中不存在examplefolder/example.png檔案,則OSS會向
https://bucket-04.oss-cn-shanghai.aliyuncs.com/examplefolder/example.png?caller=lucas&production=oss
請求檔案。bucket-04會根據傳遞的
?caller=lucas&production=oss
參數,將example.png返回給OSS。OSS會將擷取的檔案命名為examplefolder/example.png,並將命名後的檔案儲存體至bucket-03。
如果請求中還攜帶了header1、header2、header3的HTTP header時,也會被傳遞到bucket-04。