全部產品
Search
文件中心

Object Storage Service:通過自訂網域名訪問OSS

更新時間:Sep 17, 2026

OSS允許將自有網域名稱綁定至Bucket、存取點或對象FC存取點,替代預設網域名稱訪問OSS資源。綁定後,可以使用自訂網域名實現檔案線上預覽、提升品牌一致性,並靈活配置HTTPS認證和CDN加速等能力。

重要

自北京時間2025年3月20日00:00:00起新開通OSS服務的使用者,若通過OSS預設公網(外網)Endpoint(如oss-cn-hangzhou.aliyuncs.com)訪問中國內地地區Bucket的資料類API,請求將被拒絕,並返回錯誤碼PublicEndpointForbidden(HTTP狀態代碼400,EC碼0048-00000401)。如需繼續通過公網調用此類API,必須使用自訂網域名。詳情參見升級公告。

工作原理

自訂網域名綁定至OSS的實現基於DNS的CNAME(Canonical Name)記錄。通過將自訂網域名指向OSS提供的預設網域名稱,當使用者訪問自訂網域名時,DNS系統將其解析到對應的OSS訪問網域名稱,從而實現對OSS資源的訪問。

配置過程分為三步:綁定網域名稱、配置CNAME解析、驗證訪問。OSS支援將自訂網域名綁定至以下4種訪問網域名稱,請根據業務需求選擇:

情境

綁定方式

說明

託管靜態資源、檔案線上預覽

綁定至外網訪問網域名稱

最常用的方式,滿足基礎檔案訪問需求

跨國或遠距離加速傳輸

綁定至傳輸加速網域名稱

需先開啟傳輸加速功能

開啟自訂網域名訪問

重要

請確保已擁有一個登入的網域名稱或註冊一個新網域名稱。若Bucket位於中國內地,綁定的網域名稱必須完成ICP備案。若Bucket位於非中國內地節點(如中國香港、新加坡等),綁定的自訂網域名無需ICP備案。中國大陸使用者訪問境外節點時跨境網路延遲可能增大,請根據使用者所在地區選擇Bucket節點。

步驟一:綁定自訂網域名

  1. 前往Bucket列表,單擊目標Bucket名稱,然後在左側功能表列單擊Bucket 配置 > 域名管理,單擊綁定域名。

  2. 輸入需要綁定的網域名稱。系統將自動檢測是否滿足綁定條件,網域名稱屬於當前賬戶時可直接單擊確認綁定完成綁定。網域名稱屬於其他阿里雲賬戶或其他網域名稱服務 (DNS)商時,需要驗證網域名稱所有權,以阿里雲購買的網域名稱為例:

    1. 使用網域名稱歸屬的阿里雲帳號登入Alibaba Cloud DNS控制台,單擊目標網域名稱操作列的解析设置。

    2. 單擊添加记录,按照下方配置列表填寫記錄資訊,其餘配置項可保持預設設定。

      • 记录类型:選擇TXT。

      • 主机记录:主機記錄僅填寫首碼部分,如_dnsauth。如果綁定的是子網域名稱,還需要加上子網域名稱首碼,如綁定image.example.com,則主機記錄填寫_dnsauth.image。

      • 记录值:填寫OSS控制台顯示的記錄值。

    3. 單擊确定,如彈出解析变更确认視窗,再次單擊确定。

    4. 返回OSS控制台,單擊驗證網域名稱所有權並綁定,將網域名稱綁定至Bucket。

說明

網域名稱解析記錄添加後需要一段時間才會生效,如果頁面報錯,請等待幾分鐘後重試。TXT記錄用於驗證對網域名稱的所有權,驗證成功後即可刪除,不影響後續使用。

步驟二:配置CNAME解析

將網域名稱綁定後,自訂網域名尚未生效,需要配置CNAME解析記錄將自訂網域名指向OSS訪問網域名稱。

重要

請務必先完成步驟一的網域名稱綁定,再配置CNAME解析,否則通過自訂網域名訪問OSS時將無法正確識別Bucket,返回非預期內容。後續解除綁定關係後,也請及時刪除CNAME記錄。

網域名稱屬於當前阿里雲賬戶時,可在控制台選擇自動添加 CNAME 記錄,系統會自動完成CNAME配置。其他情況需手動設定,以阿里雲購買的網域名稱為例:

說明

如果提示存在相同的主機記錄導致無法自動添加,請登入Alibaba Cloud DNS控制台確認該CNAME記錄是否還在使用,不再使用可刪除後重新添加。

  1. 使用網域名稱歸屬的阿里雲帳號登入Alibaba Cloud DNS控制台,單擊目標網域名稱操作列的解析设置。

  2. 單擊添加记录,按照下方配置列表填寫記錄資訊,其餘配置項可保持預設設定。

    • 记录类型:選擇CNAME。

    • 主机记录:如果綁定的是主網域名稱,填寫@;如果綁定的是子網域名稱,填寫子網域名稱首碼,如綁定image.example.com,則主機記錄填寫image。

      說明

      若已存在同名的A記錄,需先刪除A記錄後再添加CNAME記錄,兩者不能共存於同一主機記錄。如果A記錄正在使用(如指向ECS或WAF),建議使用一個新的子網域名稱綁定OSS,避免影響現有業務。

    • 记录值:根據業務情境填寫對應的目標網域名稱。

      情境

      記錄值

      外網訪問

      CNAME網域名稱(推薦,如example-bucket.<region-id>.taihangcda.cn)或外網訪問網域名稱

      傳輸加速訪問

      傳輸加速網域名稱,如example-bucket.oss-accelerate.aliyuncs.com

  3. 單擊确定,如彈出解析变更确认視窗,再次單擊确定。

說明

DNS解析的生效時間取決於記錄的TTL(存留時間)設定,完全生效通常需要幾分鐘到幾小時。配置後立即訪問無效屬於正常現象,請耐心等待或嘗試清除本地DNS緩衝。可通過dig example.com CNAME +short命令查看CNAME記錄的指向和生效情況。

步驟三:驗證自訂網域名訪問

完成網域名稱綁定和CNAME配置後,通過以下方式驗證自訂網域名是否生效。

公用讀取和公用讀寫Bucket

在瀏覽器中直接通過URL訪問。如 http://image.example.com/example.jpg 表示訪問Bucket根目錄的檔案 example.jpg。

私人Bucket

訪問私人讀寫權限的Bucket需要在檔案URL中包含簽名資訊。以下操作示範如何通過控制台擷取檔案的簽名URL,關於簽名的詳細資料和產生方式請參見簽名版本4(推薦)。

  1. 前往Bucket列表,單擊目標Bucket。

  2. 單擊需要訪問的目標檔案右側操作列的詳情。

  3. 網域名稱選擇自訂網域名,並選擇綁定的自訂網域名,然後單擊復制文件 URL。

  4. 在瀏覽器中訪問修改後的URL。

應用於生產環境

最佳實務

  • 安全傳輸:啟用HTTPS

    為自訂網域名配置SSL認證,強制使用HTTPS訪問。HTTPS協議通過TLS/SSL加密傳輸資料,防止資料在傳輸過程中被竊取或篡改,避免瀏覽器顯示不安全警告,提升使用者信任度和品牌形象。

  • 跨域訪問:配置CORS規則

    當前端應用(如部署在https://web.example.com)需要訪問OSS資源(如https://oss.example.com)時,必須配置CORS跨域規則,允許來自應用網域名稱的跨域請求,確保前端應用正常訪問OSS資源。

  • 平滑上線:零停機網域名稱切換

    當需要將Bucket網域名稱切換到綁定的自訂網域名時,採用以下分階段切換策略可避免服務中斷:

    1. 準備階段:完成網域名稱綁定和CNAME配置,在測試環境中驗證功能和效能。

    2. 灰階發布階段(建議在業務低峰期):將部分業務流量切換至自訂網域名,逐步放量。

    3. 驗證階段:監控訪問日誌和錯誤率,確認服務正常。

    4. 全量發布階段:將全量流量切換至自訂網域名,完成遷移。

    5. 復原預案:如遇問題,立即復原至Bucket網域名稱,分析問題根因後重新部署。

  • 效能與安全:通過子網域名稱隔離用途

    根據不同業務用途分配不同子網域名稱,如網頁靜態資源使用static.example.com,圖片資源使用images.example.com。通過網域名稱隔離實現瀏覽器並發串連數最佳化、獨立緩衝策略配置和精微調權限控制。

  • 功能擴充:託管靜態網站

    如果目標是利用OSS託管完整的靜態網站(包含HTML、CSS、JS等檔案),在綁定自訂網域名後,還需進一步配置靜態網站託管功能,實現預設首頁、404錯誤頁面等網站基礎功能。

  • 效能最佳化:配置CDN加速

  • 對於需要向全球使用者分發靜態資源的情境,建議進一步配置CDN加速服務,通過全球分布的邊緣節點緩衝內容,獲得更低的訪問延遲和更優的使用者體驗。

風險防範

  • 流量盜用防護:配置Referer防盜鏈

    為防止圖片、視頻等資源被其他網站盜用,產生不必要的流量費用和頻寬消耗,請配置Referer防盜鏈。通過白名單機制限制訪問來源,有效控製成本並保護資源不被濫用。

  • 行為審計與排障:啟用訪問日誌

    啟用OSS即時日誌查詢,記錄所有訪問請求的詳細資料,包括訪問時間、來源IP、請求類型、響應狀態等,便於安全審計、效能分析和異常排查。

配額與限制

  • 綁定數量:每個Bucket最多可以綁定100個自訂網域名。

  • 網域名稱唯一性:一個自訂網域名在同一時間只能綁定到一個Bucket。如需改綁,必須先從原Bucket解除綁定,確保網域名稱指向的唯一性和訪問路徑的明確性。

    說明

    對於部分使用舊版圖片處理功能的使用者,已用於圖片處理的網域名稱不能再綁定到Bucket。新版圖片處理功能無此限制。

  • 網域名稱類型:不支援綁定中文網域名稱和泛網域名稱(如*.example.com),確保DNS解析的穩定性和相容性。

    說明

    通過CDN加速OSS時,允許綁定泛網域名稱,但該網域名稱不會在OSS管理主控台顯示。

常見問題

如何控制通過自訂網域名訪問檔案時的預覽或下載行為?

檔案的預覽或下載行為由HTTP回應標頭Content-Disposition決定。使用OSS預設提供的網域名稱訪問時,OSS會為安全起見強制添加Content-Disposition: attachment下載頭;而通過自訂網域名訪問時,OSS不會添加此頭,從而使行為變得可控。

  • 實現預覽:使用自訂網域名訪問,並確保檔案中繼資料中沒有設定Content-Disposition: attachment以及檔案的Content-Type(MIME類型)正確匹配檔案格式。對於瀏覽器原生不支援預覽的檔案格式,可通過以下方式擴充預覽能力:

    • 對於.doc、.ppt、.pdf等辦公檔案,整合WebOffice線上預覽服務實現文檔預覽。

    • 對於.mov等特殊格式視頻檔案,使用視頻轉碼服務轉換為Web相容格式後實現預覽。

    • 安裝對應檔案類型的瀏覽器預覽外掛程式。

  • 強制下載:為檔案的中繼資料手動設定Content-Disposition為attachment,瀏覽器將忽略預覽嘗試並直接下載檔案。

    說明

    <video>或<audio>標籤會優先播放媒體,可能會忽略attachment的下載建議。

綁定網域名稱時校正失敗,提示網域名稱綁定在其他Bucket上怎麼辦?

遇到網域名稱已被其他Bucket綁定的情況,可採用以下方案:

  • 為當前業務使用一個新的子網域名稱。如網域名稱example.com已被其他Bucket綁定,可使用image.example.com等新的子網域名稱進行綁定,通過網域名稱層級實現業務隔離。

  • 將網域名稱從原有Bucket解除綁定,再綁定到目標Bucket。解除綁定操作步驟如下:

    1. 如果已開啟CDN加速,需要先修改CDN加速服務的來源站點資訊,使加速網域名稱不再指向OSS的Bucket網域名稱,避免CDN回源失敗。修改方式請參見配置來源站點。

    2. 前往Bucket列表,單擊原有綁定的Bucket名稱,然後在左側功能表列單擊Bucket 配置 > 域名管理。

    3. 在網域名稱列表中單擊目標網域名稱操作列的解綁,在彈出的對話方塊中單擊確定,完成網域名稱解除綁定。

通過API綁定網域名稱時返回NeedVerifyDomainOwnership錯誤怎麼辦?

此錯誤表示未驗證網域名稱所有權。可通過以下方式解決:

  1. 調用CreateCnameToken介面建立網域名稱所有權驗證所需的CnameToken。

    說明

    CnameToken預設在建立完成後72小時內到期。如果在到期時間內重複建立,則返回已存在的CnameToken。

  2. 在網域名稱服務 (DNS)供應商處配置TXT記錄完成網域名稱所有權驗證。

  3. 調用PutCname介面綁定自訂網域名。

CDN 已完成 TXT 網域名稱驗證後,OSS 綁定網域名稱是否需要二次驗證?

CDN 和 OSS 的網域名稱歸屬驗證相互獨立,CDN 側完成的 TXT 驗證不會同步到 OSS。在 OSS 控制台綁定自訂網域名時,需單獨完成網域名稱所有權驗證(TXT 記錄驗證),具體操作請參見本文步驟一:綁定自訂網域名中的 TXT 記錄配置說明。

網域名稱歸屬於當前阿里雲帳號時,可直接綁定,無需 TXT 驗證。通過 API 綁定網域名稱時,如果返回NeedVerifyDomainOwnership錯誤,表示網域名稱所有權驗證未完成,需完成 TXT 記錄驗證,具體請參見通過 API 綁定網域名稱時返回 NeedVerifyDomainOwnership 錯誤怎麼辦?。

配置完成後訪問自訂網域名無效或仍訪問到舊地址?

這很可能是由於本地及電訊廠商DNS緩衝導致的解析延遲。為提升解析效率,DNS系統各層級節點會依據TTL值將網域名稱解析結果緩衝一段時間。當CNAME記錄變更後,若緩衝尚未到期,訪問請求仍可能被指向舊的地址。建議等待十分鐘後再嘗試,或手動清除本地DNS緩衝:

Windows

ipconfig /flushdns

macOS

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Linux

sudo systemd-resolve --flush-caches

添加CNAME記錄時提示與已有A記錄衝突怎麼辦?

根據DNS協議規範,同一主機記錄下CNAME記錄不能與A記錄共存。如果當前網域名稱已有A記錄指向其他服務(如ECS、WAF),有以下兩種解決方案:

  • 使用一個新的子網域名稱綁定OSS。例如,主網域名稱example.com已有A記錄,可使用oss.example.com綁定OSS,兩者互不干擾。

  • 如果必須使用當前網域名稱,需先刪除A記錄再添加CNAME記錄。刪除前請確認A記錄已無業務依賴,否則可能導致原有服務中斷。

為何"網域名稱B CNAME到網域名稱A,網域名稱A再綁定OSS"的方式會訪問失敗?

因為OSS會嚴格校正HTTP要求標頭中的Host欄位,要求其必須與Bucket中實際綁定的網域名稱完全一致。當訪問網域名稱B時,Host頭為“網域名稱B”,與綁定網域名稱不匹配導致校正失敗。因此,必須將實際公網訪問的網域名稱直接綁定到Bucket,而不能通過網域名稱間的CNAME轉寄實現。

綁定自訂網域名後,之前的檔案URL是否可以繼續使用?

可以繼續使用。綁定自訂網域名不會影響OSS預設提供的網域名稱訪問,兩者可以並存。擷取之前的檔案URL方法,請參見使用預簽名URL下載或預覽檔案。

停止CNAME解析後,預設網域名稱是否仍可訪問?

可以。OSS預設網域名稱(如your-bucket.oss-cn-hangzhou.aliyuncs.com)是Bucket建立時自動分配的訪問地址,獨立於自訂網域名。停止自訂網域名DNS解析(刪除CNAME記錄)後,自訂網域名無法訪問,但預設網域名稱不受影響。Bucket許可權為公用讀取或持有有效訪問憑證時,預設網域名稱可正常訪問。

解除綁定自訂網域名與停止DNS解析是兩個獨立操作:解除綁定需在OSS控制台域名管理頁面操作,停止DNS解析需在DNS服務位址刪除CNAME記錄。僅停止DNS解析不會在OSS側自動解除綁定。

自訂網域名綁定OSS後只能用外網訪問網域名稱嗎?可以綁定內網網域名稱嗎?

自訂網域名綁定OSS後,只能用於公網(外網)訪問,不能用於內網訪問。

OSS的自訂網域名功能是通過在DNS服務位址配置CNAME記錄,將自有網域名稱指向OSS Bucket的外網訪問網域名稱(如example-bucket.oss-<region-id>.aliyuncs.com)來實現的。該機制面向公網使用者通過自有網域名稱訪問OSS資源。

而內網訪問必須使用阿里雲提供的內網Endpoint(如oss-<region-id>-internal.aliyuncs.com),且僅限於與OSS同地區的阿里雲資源(如ECS、Function Compute等)在VPC內通過私網調用。由於內網Endpoint不支援被外部DNS解析,也無法通過CNAME綁定到自訂網域名,因此無法將自訂網域名用於內網訪問。

使用自訂網域名,為什麼HTTP請求不了資源檔,會強制跳轉HTTPS?

這是因為在自訂網域名上開啟了強制HTTPS跳轉功能,導致所有HTTP請求被自動重新導向為HTTPS請求。

OSS本身不支援強制跳轉,但通過CDN綁定自訂網域名並配置了HTTPS認證後,可在CDN的HTTPS配置中開啟強制跳轉(HTTP → HTTPS),此時系統會返回301/302重新導向響應,使瀏覽器將HTTP請求轉為HTTPS。

如果希望允許HTTP訪問資源檔,請進入CDN控制台,找到對應網域名稱,將跳转类型改為默认(即同時支援HTTP和HTTPS)。具體操作,請參見配置協議重新導向。

CDN 加速 OSS 時遇到 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 錯誤怎麼辦?

CDN 加速網域名稱配置了多個來源站點(IP 來源站點和 OSS 來源站點)時,CDN 隨機回源。若回源到未配置 HTTPS 的 IP 來源站點,SSL 握手失敗,瀏覽器顯示 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 錯誤。可通過以下步驟解決:

  1. 登入 CDN 控制台,在網域名稱管理中檢查加速網域名稱的來源站點配置。如存在 IP 來源站點,刪除 IP 來源站點,僅保留 OSS 來源站點。

  2. 在加速網域名稱的 HTTPS 配置中開啟 HTTPS,選擇與加速網域名稱匹配的有效 SSL 憑證。

通過自訂網域名可以上傳檔案嗎?

不可以直接通過自訂網域名 URL 上傳檔案。OSS 的自訂網域名本質上是 OSS REST API 端點,直接通過瀏覽器 URL 發起 HTTP PUT 上傳請求會因缺少認證簽名而被拒絕(返回 403 AccessDenied)。自訂網域名主要用於通過 HTTP GET 方式訪問已上傳的檔案(如圖片、網頁等靜態資源)。

如果需要上傳檔案到 OSS Bucket,請使用以下工具:

  • ossbrowser:圖形化工具,適合非技術使用者。

  • ossutil:命令列工具,適合營運人員。

  • OSS SDK:適合開發人員整合到應用程式中。

在 ossbrowser 中配置 Endpoint 時,可填寫 OSS 外網網域名稱或自訂網域名,並確保 AccessKey 已正確配置。

相關文檔