OSS提供的訪問網域名稱預設支援HTTPS訪問。當通過自訂網域名訪問OSS時,需要為該網域名稱配置SSL認證以啟用HTTPS加密傳輸,保障資料安全並滿足合規要求。
工作原理
HTTPS協議通過TLS/SSL加密機制對資料進行端到端加密,同時利用憑證鏈結驗證伺服器身份,確保資料轉送的機密性、完整性和身份認證。HTTPS訪問OSS的實現基於在正確位置為訪問網域名稱配置有效SSL認證,根據網域名稱類型,支援方式有所不同:
OSS Bucket網域名稱:格式如
<bucket-name>.oss-<region-id>.aliyuncs.com,由阿里雲統一管理SSL認證,原生支援HTTPS,無需額外配置,直接使用https://首碼即可訪問。自訂網域名:需要使用者為網域名稱配置SSL認證。
開啟HTTPS訪問
認證的配置位置取決於是否啟用了CDN加速。
未開啟CDN:流量直接到達OSS,需在OSS控制台為自訂網域名配置認證託管。
已開啟CDN:流量先經CDN節點再轉寄至OSS,需在CDN控制台為CDN加速網域名稱配置HTTPS認證。
可通過以下任一方式判斷自訂網域名是否啟用了CDN加速:
OSS控制台
前往Bucket列表,單擊目標Bucket。
在左側功能表列單擊。
網域名稱列表會展示該Bucket已綁定的網域名稱。如果阿裏雲 CDN 加速顯示已配置,其HTTPS認證需在CDN控制台管理。
CDN控制台
前往CDN網域名稱列表,查看已配置且生效的CDN加速網域名稱及其來源站點Bucket資訊。
步驟一:配置SSL認證
根據自訂網域名的訪問鏈路,選擇對應的方式配置SSL認證。
OSS自訂網域名
適用於自訂網域名CNAME解析到OSS Bucket訪問網域名稱的情境。
前往Bucket列表,單擊目標Bucket,然後在左側單擊。
在目標自訂網域名操作列單擊證書托管,然後在認證名稱右側下拉選擇認證。
單擊上傳,完成認證託管配置。
CDN加速網域名稱
適用於通過CDN加速網域名稱回源到OSS Bucket的情境。
前往CDN控制台,單擊目標加速網域名稱,然後單擊HTTPS配置,在HTTPS证书旁邊單擊修改配置。
勾選HTTPS安全加速,閱讀計費提醒並确认。
根據認證來源,選擇SSL認證或填寫第三方認證資訊。
數位憑證管理服務:在证书名称右側下拉選擇認證。
自訂上傳(認證+私密金鑰):按頁面提示填寫证书名称、認證(公開金鑰)和私钥。
單擊确定,完成HTTPS認證配置。
若無法選擇目標認證,請前往數位憑證管理服務控制台確認認證滿足以下條件:
認證已簽發並在有效期間限內。
認證的綁定網域名稱包含當前要配置的網域名稱。
步驟二:驗證HTTPS訪問效果
配置完成後,等待配置生效(CDN HTTPS配置約需1分鐘),然後通過瀏覽器驗證HTTPS訪問:
OSS自訂網域名
前往Bucket列表,單擊目標Bucket名稱。
單擊目標檔案的檔案名稱或操作列的詳情,域名選擇自訂網域名,並在下拉框中選擇綁定的自訂網域名,然後單擊復制文件 URL。
CDN加速網域名稱
用CDN加速網域名稱構造訪問URL,如https://example.com/example.jpg,其中example.com為CDN加速網域名稱。
在瀏覽器中訪問該URL,驗證瀏覽器地址欄顯示安全鎖表徵圖,表明串連已加密保護。
強制使用HTTPS訪問
生產環境建議強制所有用戶端使用HTTPS協議訪問,防止資料在傳輸過程中被竊取或篡改。根據網域名稱類型選擇對應的配置方式。
OSS自訂網域名
前往Bucket列表,單擊目標Bucket,然後在左側單擊,選擇按文法策略添加方式添加以下Bucket Policy來拒絕所有HTTP請求。
請將樣本中的<bucket-name>替換為實際的Bucket名稱,如存在存量Policy,請在原有Policy上添加Statement。
{
"Version": "1",
"Statement": [{
"Effect": "Deny",
"Action": ["oss:*"],
"Principal": ["*"],
"Resource": [
"acs:oss:*:*:<bucket-name>",
"acs:oss:*:*:<bucket-name>/*"
],
"Condition": {
"Bool": {
"acs:SecureTransport": ["false"]
}
}
}]
}CDN加速網域名稱
通過以下任一方式強制用戶端使用HTTPS訪問:
認證生命週期管理
查看認證到期時間
OSS自訂網域名
前往Bucket列表,單擊目標Bucket,然後在左側單擊。
單擊目標網域名稱的認證詳情,查看認證到期時間。
CDN加速網域名稱
前往CDN控制台,在左側導覽列單擊認證服務,查看認證到期時間。
更新認證
認證更新操作與首次配置相同,根據網域名稱類型和更新方式選擇對應的路徑。
控制台
命令列工具與API
OSS自訂網域名:通過ossutil為自訂網域名綁定認證。詳情請參見put-cname。
CDN加速網域名稱:通過阿里雲CLI設定CDN網域名稱認證。詳情請參見CLI整合樣本和設定CDN網域名稱認證。
自動續期
SSL認證有固定有效期間,到期將導致訪問中斷。建議提前30天進行認證更新。
阿里雲SSL認證:開啟認證託管可實現自動續期,減少人工幹預。
第三方認證:建立定期更新流程和責任人制度,確保及時續簽。
關閉HTTPS訪問
當不再需要HTTPS加密訪問時,可按以下方式關閉。
OSS自訂網域名
前往Bucket列表,單擊目標Bucket,然後在左側單擊。
單擊目標網域名稱認證詳情旁的刪除表徵圖,然後單擊確定。
CDN加速網域名稱
為避免訪問中斷,在關閉HTTPS前,必須先將強制跳轉類型恢複為預設,並關閉HSTS功能。
前往CDN控制台,單擊目標加速網域名稱,然後單擊HTTPS配置,在HTTPS证书旁邊單擊修改配置。
關閉HTTPS安全加速,然後單擊确定。
應用於生產環境
效能最佳化
現代瀏覽器和CDN普遍支援HTTP/2協議,相比HTTP/1.1具有多工、頭部壓縮等優勢。在CDN配置中配置HTTP/2和Gzip壓縮,可在保證安全性的同時最佳化傳輸效率。
風險防範
備用認證機制:準備備用SSL認證以應對主認證失效或CA機構故障。對於關鍵業務,建議使用不同CA的認證作為備份,在主認證出現問題時快速切換。
HTTP回退策略:在認證配置出現嚴重問題且無法快速修複時,建立標準應急流程,臨時允許HTTP訪問,同時加強監控確保及時恢複。
計費說明
在CDN中開啟HTTPS功能後,將根據產生的靜態HTTPS請求數單獨計費。詳情請參見靜態HTTPS請求數。
常見問題
配置SSL認證後,為什麼瀏覽器訪問仍然提示"不安全"或"認證錯誤"?
當配置完成後仍出現安全警告,可按以下方法排查:
檢查配置位置:確認訪問網域名稱是否開啟了CDN加速。如果開啟,必須在CDN控制台配置HTTPS認證,OSS控制台的認證託管不會生效。
清除瀏覽器緩衝:瀏覽器可能緩衝舊的認證狀態,清除緩衝後重新訪問。
等待配置生效:CDN HTTPS配置或OSS認證託管需要一定時間下發生效。
檢查憑證鏈結完整性:中級CA頒發的認證需要將伺服器憑證與中間認證拼接成完整的憑證鏈結後上傳。憑證授權單位通常會提供拼接說明,請仔細查閱相關文檔。
通過HTTPS協議訪問OSS出現認證異常如何處理?
根據不同的認證異常類型,採用對應的處理方法:
為什麼在選擇認證時下拉式清單中找不到目標認證?
認證與網域名稱不匹配:系統只列出與當前網域名稱匹配的認證。如為
oss.example.com配置認證時,無法選擇頒發給cdn.example.com的認證。認證不在當前帳號下:需在SSL認證管理頁面上傳認證。
泛網域名稱認證層級不匹配:泛網域名稱認證僅支援同層級網域名稱,如
*.example.com可匹配www.example.com、oss.example.com,但無法匹配cdn.oss.example.com。
CDN配置HTTPS認證時提示"認證格式不對",如何轉換?
CDN HTTPS配置僅支援PEM格式認證。如果認證不是PEM格式,請參見認證格式說明完成格式轉換後再上傳。