全部產品
Search
文件中心

Object Storage Service:通過Bucket網域名稱訪問OSS

更新時間:Nov 15, 2025

OSS為每個儲存空間(Bucket)分配一系列預設訪問網域名稱,支援根據不同業務需求和網路環境(公網、內網、傳輸加速網路)靈活訪問OSS資源。

核心概念

標準的OSS訪問地址由多個層級組合構成。準確理解以下四個核心概念,對於正確訪問OSS至關重要:

概念

說明

樣本

用途

Region ID

通用地區標識

ap-southeast-1

用於SDK、ossutil進行V4簽名等情境

專用Region ID

OSS專用地區標識

oss-ap-southeast-1

用於構成Endpoint、API入參、返回參數等情境

Endpoint

服務訪問地址

oss-ap-southeast-1.aliyuncs.com

在SDK、ossutil中配置,用於建立與OSS服務的網路連接等情境

Bucket網域名稱

具體Bucket的訪問地址

bucket-name.oss-ap-southeast-1.aliyuncs.com

用於瀏覽器直接存取、產生簽名URL或託管靜態網站等情境。

這四個概念存在層級關係:Region ID 標識一個地理位置,OSS為其分配對應的專用Region ID,專用Region ID與網域名稱尾碼組合構成Endpoint(服務訪問地址)。訪問具體Bucket時,使用Bucket名稱與Endpoint組合形成的Bucket網域名稱(資源訪問地址)。

網域名稱類型

OSS根據網路環境和效能需求提供不同類型的訪問網域名稱。

重要

根據策略調整,為提升OSS服務的合規性和安全性,自2025年3月20日起,新開通OSS服務的使用者在中國內地地區的Bucket將無法通過預設公網網域名稱調用資料操作類API(如上傳、下載檔案),需通過自訂網域名(CNAME)方式訪問OSS服務。使用HTTPS協議訪問(如控制台)時,還需為自訂網域名配置SSL認證

外網訪問網域名稱

專為互連網訪問設計,適用於Web應用、移動用戶端、跨地區訪問等情境。

網域名稱格式

  • Endpointoss-[RegionID].aliyuncs.com

  • Bucket網域名稱[BucketName].oss-[RegionID].aliyuncs.com

訪問樣本

檔案URL

以下樣本示範通過控制台擷取私人Bucket的檔案簽名URL,更多擷取簽名URL的方式請參見使用預簽名URL下載或預覽檔案

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

  2. 單擊目標訪問檔案的檔案名稱或操作列的詳情

  3. 網域名稱選擇外網網域名稱,單擊複製檔案URL

  4. 在瀏覽器中訪問URL。

通過OSS Bucket網域名稱訪問HTML、圖片等檔案時,瀏覽器會強制下載而非線上預覽。如需實現檔案預覽功能,請通過自訂網域名訪問OSS

ossutil

以下樣本示範使用命令列工具ossutil 2.0下載檔案。使用前需要安裝並配置ossutil 2.0,工具預設使用外網訪問Endpoint,也可通過-e參數顯式指定外網訪問Endpoint。

ossutil cp oss://example-bucket/dest.jpg dest.jpg -e oss-ap-southeast-1.aliyuncs.com

SDK

以下展示常見語言的SDK整合樣本,更多語言的整合樣本請參見SDK參考中對應語言的初始化方法。

Java SDK V2

SDK初始化用戶端時預設使用外網訪問網域名稱,只需填寫地區(Region)ID即可完成配置,無需額外指定Endpoint。完整的初始化程式碼範例請參見OSS Java SDK V2(預覽版)

Java SDK V1

初始化OSS用戶端執行個體時指定外網訪問網域名稱,完整的初始化代碼請參見OSS Java SDK V1

// 以新加坡的外網訪問Endpoint為例
String endpoint = "oss-ap-southeast-1.aliyuncs.com";
// 初始化OSS用戶端
OSS ossClient = OSSClientBuilder.create()
        .credentialsProvider(provider)
        .clientConfiguration(clientBuilderConfiguration)
        .region("ap-southeast-1")
        .endpoint(endpoint)
        .build();

Python SDK V2

SDK初始化用戶端時預設使用外網訪問網域名稱,只需填寫地區(Region)ID即可完成配置,無需額外指定Endpoint。完整的初始化程式碼範例請參見OSS Python SDK V2

Python SDK V1

初始化OSS用戶端執行個體時指定外網訪問網域名稱,完整的初始化代碼請參見初始化(Python SDK V1)

# 以新加坡的外網訪問Endpoint為例
endpoint = "https://oss-ap-southeast-1.aliyuncs.com"
# 初始化OSS用戶端執行個體
bucket = oss.Bucket(auth, endpoint, bucket, region="ap-southeast-1")

Go SDK V2

SDK初始化用戶端時預設使用外網訪問網域名稱,只需填寫地區(Region)ID即可完成配置,無需額外指定Endpoint。完整的初始化程式碼範例請參見OSS Go SDK V2

Go SDK V1

初始化OSS用戶端執行個體時指定外網訪問網域名稱,完整的初始化代碼請參見配置用戶端

// 建立OSS用戶端執行個體
client, _ := oss.New(
        "oss-ap-southeast-1.aliyuncs.com",	// 以新加坡的外網訪問Endpoint為例
        "",
        "",
        oss.SetCredentialsProvider(&provider),
        oss.AuthVersion(oss.AuthV4),
        oss.Region("ap-southeast-1"),
)

內網訪問網域名稱

專為阿里雲內網環境設計,適用於同地區的ECS執行個體訪問OSS等情境。通過內網訪問可避免產生外網流量費用,同時獲得更穩定的網路連接和更低的訪問延遲。

網域名稱格式

  • Endpointoss-[RegionID]-internal.aliyuncs.com

  • Bucket網域名稱[BucketName].oss-[RegionID]-internal.aliyuncs.com

使用建議

  • DNS配置最佳化

    使用內網Endpoint時,強烈建議配置阿里雲的雲上私網DNS地址(100.100.2.136100.100.2.138),確保擷取正確的VIP地址,避免因DNS解析問題導致OSS訪問異常。

  • VIP網段路由配置完整性

    OSS為每個Region內網VIP網段劃分了固定位址區段,系統會在指定VIP網段內動態切換IP地址。本地裝置和資料中心通過內網訪問OSS時,路由配置必須涵蓋完整的VIP網段,否則可能因網路路由不完整導致串連中斷。各地區的內網VIP網段資訊請參見地區和Endpoint

    重要

    請確保路由配置涵蓋完整的VIP網段,避免因配置不完整導致網路連通性問題。若因VIP網段配置缺失影響OSS服務可用性,相關損失需由配置方承擔。

  • 安全性群組規則配置

    使用ECS執行個體通過內網訪問OSS時,安全性群組規則不能禁止訪問任何一個VIP網段,確保網路連通性。

訪問樣本

ossutil

以下樣本示範在同地區的ECS中使用命令列工具ossutil 2.0下載檔案。使用前需要安裝並配置ossutil 2.0,可在配置時使用內網訪問Endpoint,也可在下載時通過-e參數指定內網訪問Endpoint。

ossutil cp oss://example-bucket/dest.jpg dest.jpg -e oss-ap-southeast-1-internal.aliyuncs.com

SDK

以下展示常見語言的SDK整合樣本,更多語言的整合樣本請參見SDK參考中對應語言的初始化方法。

Java SDK V2

初始化OSS用戶端執行個體時通過指定Endpoint或useInternalEndpoint(true)設定使用內網訪問網域名稱,完整的初始化代碼請參見OSS Java SDK V2(預覽版)

  • 方式一:指定內網訪問Endpoint

    // 以新加坡的內網訪問Endpoint為例
    String endpoint = "oss-ap-southeast-1-internal.aliyuncs.com";
    // 初始化OSS用戶端
    OSSClient client = OSSClient.newBuilder()
            .credentialsProvider(provider)
            .region("ap-southeast-1")
            .endpoint(endpoint)
            .build();
  • 方式二:通過useInternalEndpoint(true)設定

    // 初始化OSS用戶端
    OSSClient client = OSSClient.newBuilder()
            .credentialsProvider(provider)
            .region("ap-southeast-1")
            .useInternalEndpoint(true)
            .build();

Java SDK V1

初始化OSS用戶端執行個體時指定內網訪問網域名稱,完整的初始化代碼請參見OSS Java SDK V1

// 以新加坡的內網訪問Endpoint為例
String endpoint = "oss-ap-southeast-1-internal.aliyuncs.com";
// 初始化OSS用戶端
OSS ossClient = OSSClientBuilder.create()
        .credentialsProvider(provider)
        .clientConfiguration(clientBuilderConfiguration)
        .region("ap-southeast-1")
        .endpoint(endpoint)
        .build();

Python SDK V2

初始化OSS用戶端執行個體時通過指定Endpoint或use_internal_endpoint = True設定使用內網訪問網域名稱,完整的初始化代碼請參見OSS Python SDK V2

  • 方式一:指定內網訪問Endpoint

    # 以新加坡的內網訪問Endpoint為例
    config.endpoint = "https://oss-ap-southeast-1-internal.aliyuncs.com"
    # 初始化OSS用戶端
    client = oss.Client(config)
  • 方式二:通過use_internal_endpoint = True設定

    config.use_internal_endpoint = True
    # 初始化OSS用戶端
    client = oss.Client(config)

Python SDK V1

初始化OSS用戶端執行個體時指定內網訪問網域名稱,完整的初始化代碼請參見初始化(Python SDK V1)

# 以新加坡的內網訪問Endpoint為例
endpoint = "oss-ap-southeast-1-internal.aliyuncs.com"
# 初始化OSS用戶端執行個體
bucket = oss.Bucket(auth, endpoint, bucket, region="ap-southeast-1")

Go SDK V2

初始化OSS用戶端執行個體時通過指定Endpoint或WithUseInternalEndpoint(true)設定使用內網訪問網域名稱,完整的初始化代碼請參見OSS Go SDK V2

  • 方式一:指定內網訪問Endpoint

    // 配置OSS用戶端,設定憑證提供者和服務地區
    config := oss.LoadDefaultConfig().
            WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
            WithRegion("ap-southeast-1").
            WithEndpoint("oss-ap-southeast-1-internal.aliyuncs.com") // 以新加坡的內網訪問Endpoint為例
    
    // 初始化OSS用戶端執行個體
    client := oss.NewClient(config)
  • 方式二:通過WithUseInternalEndpoint(true)設定

    // 配置OSS用戶端,設定憑證提供者和服務地區
    config := oss.LoadDefaultConfig().
            WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
            WithRegion("ap-southeast-1").
            WithUseInternalEndpoint(true)
    
    // 初始化OSS用戶端執行個體
    client := oss.NewClient(config)

Go SDK V1

初始化OSS用戶端執行個體時指定內網訪問網域名稱,完整的初始化代碼請參見配置用戶端

// 建立OSS用戶端執行個體
client, _ := oss.New(
        "oss-ap-southeast-1-internal.aliyuncs.com", // 以新加坡的內網訪問Endpoint為例
        "",
        "",
        oss.SetCredentialsProvider(&provider),
        oss.AuthVersion(oss.AuthV4),
        oss.Region("ap-southeast-1"),
)

傳輸加速網域名稱

啟用通過傳輸加速訪問OSS功能後可使用的專用網域名稱,通過Global Acceleration節點最佳化資料轉送路徑,適用於跨地區、跨國際的高速上傳/下載情境,顯著改善遠距離訪問的網路品質。

網域名稱格式

  • Endpointoss-accelerate.aliyuncs.com

  • Bucket網域名稱[BucketName].oss-accelerate.aliyuncs.com

訪問樣本

ossutil

以下樣本示範在新加坡地區的ECS中使用命令列工具ossutil 2.0下載跨國地區的檔案。使用前需要安裝並配置ossutil 2.0,可在配置時使用傳輸加速Endpoint,也可在下載時通過-e參數指定傳輸加速Endpoint。

ossutil cp oss://example-bucket/dest.jpg dest.jpg -e oss-accelerate.aliyuncs.com

SDK

以下展示常見語言的SDK整合樣本,更多語言的整合樣本請參見SDK參考中對應語言的初始化方法。

Java SDK V2

初始化OSS用戶端執行個體時通過指定Endpoint或useAccelerateEndpoint(true)設定使用傳輸加速網域名稱,完整的初始化代碼請參見OSS Java SDK V2(預覽版)

  • 方式一:指定傳輸加速Endpoint

    String endpoint = "oss-accelerate.aliyuncs.com";
    // 初始化OSS用戶端
    OSSClient client = OSSClient.newBuilder()
            .credentialsProvider(provider)
            .region("ap-southeast-1")
            .endpoint(endpoint)
            .build();
  • 方式二:通過useAccelerateEndpoint(true)設定

    // 初始化OSS用戶端
    OSSClient client = OSSClient.newBuilder()
            .credentialsProvider(provider)
            .region("ap-southeast-1")
            .useAccelerateEndpoint(true)
            .build();

Java SDK V1

初始化OSS用戶端執行個體時指定傳輸加速網域名稱,完整的初始化代碼請參見OSS Java SDK V1

String endpoint = "oss-accelerate.aliyuncs.com";
// 初始化OSS用戶端
OSS ossClient = OSSClientBuilder.create()
        .credentialsProvider(provider)
        .clientConfiguration(clientBuilderConfiguration)
        .region("ap-southeast-1")
        .endpoint(endpoint)
        .build();

Python SDK V2

初始化OSS用戶端執行個體時通過指定Endpoint或use_accelerate_endpoint = True設定使用傳輸加速網域名稱,完整的初始化代碼請參見OSS Python SDK V2

  • 方式一:指定傳輸加速Endpoint

    config.endpoint = "oss-accelerate.aliyuncs.com"
    # 初始化OSS用戶端
    client = oss.Client(config)
  • 方式二:通過use_accelerate_endpoint = True設定

    config.use_accelerate_endpoint = True
    # 初始化OSS用戶端
    client = oss.Client(config)

Python SDK V1

初始化OSS用戶端執行個體時指定傳輸加速網域名稱,完整的初始化代碼請參見初始化(Python SDK V1)

endpoint = "oss-accelerate.aliyuncs.com"
# 初始化OSS用戶端執行個體
bucket = oss.Bucket(auth, endpoint, bucket, region="ap-southeast-1")

Go SDK V2

初始化OSS用戶端執行個體時通過指定Endpoint或WithUseAccelerateEndpoint(true)設定使用傳輸加速網域名稱,完整的初始化代碼請參見OSS Go SDK V2

  • 方式一:指定傳輸加速Endpoint

    // 配置OSS用戶端,設定憑證提供者和服務地區
    config := oss.LoadDefaultConfig().
            WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
            WithRegion("ap-southeast-1").
            WithEndpoint("oss-accelerate.aliyuncs.com")
    
    // 初始化OSS用戶端執行個體
    client := oss.NewClient(config)
  • 方式二:通過WithUseAccelerateEndpoint(true)設定

    // 配置OSS用戶端,設定憑證提供者和服務地區
    config := oss.LoadDefaultConfig().
            WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
            WithRegion("ap-southeast-1").
            WithUseAccelerateEndpoint(true)
    
    // 初始化OSS用戶端執行個體
    client := oss.NewClient(config)

Go SDK V1

初始化OSS用戶端執行個體時指定傳輸加速網域名稱,完整的初始化代碼請參見配置用戶端

// 建立OSS用戶端執行個體
client, _ := oss.New(
        "oss-accelerate.aliyuncs.com",
        "",
        "",
        oss.SetCredentialsProvider(&provider),
        oss.AuthVersion(oss.AuthV4),
        oss.Region("ap-southeast-1"),
)

協議支援

HTTP/HTTPS協議

所有地區的Endpoint和Bucket網域名稱均支援HTTP和HTTPS兩種協議訪問。為確保資料轉送安全性,強烈建議在生產環境中使用HTTPS協議。

IP協議

所有地區均支援IPv4訪問,部分地區額外支援IPv4和IPv6雙棧訪問Endpoint,允許IPv6網路環境下的用戶端直連OSS資源。對於支援IPv6的Endpoint,用戶端無需特殊配置,在純IPv6或雙棧網路環境中,DNS會自動解析並優先使用IPv6地址建立串連。傳統網路環境下的ECS執行個體不支援通過IPv4協議或IPv6協議訪問OSS資源。

如何驗證Endpoint的IPv6支援?

通過dig AAAA命令驗證Endpoint是否支援IPv6訪問。

dig AAAA ap-southeast-1.oss.aliyuncs.com

如果Endpoint支援IPv6,命令返回結果的ANSWER SECTION部分會顯示AAAA記錄,表示該網域名稱已配置IPv6地址。

ap-southeast-1.oss.aliyuncs.com. 60 IN  AAAA    240b:4000:f10::2c5

相關文檔