問題描述
您訪問開啟了要求者付費的Bucket,卻沒有提供正確的x-oss-request-payer要求標頭。
問題原因
您通過Header簽名的方式訪問了一個開啟了要求者付費模式的Bucket,但是卻沒有在要求標頭中提供正確的x-oss-request-payer請求參數。
問題樣本
比如您發起了如下請求:
GET /testobject HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMT
Authorization: OSS qn6q**************:77Dv****************如果oss-example這個Bucket開啟了要求者訪問模式,您的請求就會由於缺少x-oss-request-payer要求標頭被拒絕。
解決方案
如果您需要訪問啟用了要求者付費模式的Bucket,則您需要支付請求所產生的費用,而不是Bucket的所有者支付。如果您是通過扮演阿里雲RAM角色來請求資料時,該角色所屬的帳號將為此請求付費。
此外,如果您在Header中包含了簽名,那麼您還需要在要求標頭中攜帶x-oss-request-payer並取值值為requester,以表明您已瞭解需要支付請求和資料下載費用,否則將無法通過驗證。
GET /testobject HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 05:45:34 GMT
Authorization: OSS qn6q**************:77Dv****************
x-oss-request-payer: requester資料擁有者訪問該Bucket時,可以不攜帶x-oss-request-payer要求標頭。資料擁有者作為要求者訪問該Bucket時,請求產生的費用由資料擁有者(也是要求者)來支付。