Help Center/ Object Storage Service/ API Reference/ Bucket APIs/ Custom Domain Names/ Obtaining the Custom Domain Name of a Bucket
Updated on 2026-04-16 GMT+08:00

Obtaining the Custom Domain Name of a Bucket

Functions

If a custom domain name is configured for a bucket, you can call this API to obtain the custom domain name of the bucket. For more information about custom domain names, see Accessing a Bucket Using a User-Defined Domain Name.

Constraints

Table 1 Constraints

Item

Description

Bucket version

Only buckets whose version is 3.0 or later support user-defined domain names. To check the version of a bucket, go to OBS Console, click the bucket name and go to the Overview page, and find the version in the Basic Information area.

Number of domain names

By default, a bucket can have up to 100 user-defined domain names bound.

Functions

  • A user-defined domain name can be bound to only one bucket.
  • Chinese domain names are not supported.
  • The suffix of a user-defined domain name can contain 2 to 63 uppercase or lowercase letters.
  • As required by the MIIT, if the bucket which a user-defined domain name is bound to is in a Chinese mainland region, you must complete the ICP filing.
  • To access an OBS bucket over the Internet, typically use a user-defined domain name. For intranet access, it is recommended to use the bucket's default domain name (bucketName.obs.endpoint.myhuaweicloud.com).
NOTE:

If an acceleration domain name is also required, to prevent objects in OBS buckets from being directly downloaded upon access, you need to perform other required operations after the user-defined domain name and the acceleration domain name have been configured. For details, see With CDN Acceleration Enabled, Why Are the Objects in My OBS Bucket Directly Downloaded When I Access Them?

Authorization Information

To call this API, you must be the bucket owner or have the permission to obtain the custom domain name of a bucket. You are advised to use IAM or bucket policies for authorization. For details about OBS authorization methods, see Differences Between OBS Permissions Control Methods.

  • If you use IAM for authorization, you need to use either role/policy-based authorization or identity policy-based authorization and configure the required permissions:
    • If you use role/policy-based authorization (IAM v3 APIs in the old IAM version), you need to grant the obs:bucket:GetBucketCustomDomainConfiguration permission. For details, see Creating a Custom IAM Policy.
    • If you use identity policy-based authorization (IAM v5 APIs in the new IAM version), you need to grant the obs:bucket:getBucketCustomDomainConfiguration permission, as shown in the following table. For details, see Creating a Custom IAM Identity Policy.

      Action

      Access Level

      Resource Type (*: Required)

      Condition Key

      Alias

      Dependencies

      obs:bucket:getBucketCustomDomainConfiguration

      Read

      bucket *

      -

      -

      -

      • obs:EpochTime
      • obs:SourceIp
      • obs:TlsVersion
      • obs:CustomDomain
  • If you use bucket policies for authorization, you need to grant the obs:bucket:GetBucketCustomDomainConfiguration permission. For details, see Creating a Custom Bucket Policy.

Request Syntax

1
2
3
4
5
6
GET /?customdomain HTTP/1.1
User-Agent: curl/7.29.0
Host: bucketname.obs.region.myhuaweicloud.com 
Accept: */*
Date: date
Authorization: authorization string

Request Parameters

This request contains no URI parameters.

Request Headers

This request uses common headers. For details, see Table 3.

Request Body

This request contains no request body parameters.

Response Syntax

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: request id
x-obs-id-2: id
Content-Type: application/xml
Date: date
Content-Length: 272

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketCustomDomainsResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
  <Domains>
    <DomainName>domainname</DomainName>
    <CreateTime>createtime</CreateTime>
    <CertName>exampleCertificateName</CertName>
    <CertificateId>exampleCertificateId</CertificateId>
    <ExpiredTime>2026-03-13T10:22:05.912Z</ExpiredTime>
  </Domains>
</ListBucketCustomDomainsResult>

Response Headers

This response uses common headers. For details, see Table 1.

Response Body

The response returns the custom domain name of the bucket in the form of message elements. Table 2 lists details about each element.

Table 2 Response body parameters

Parameter

Type

Description

ListBucketCustomDomainsResult

Container

Definition

Container of the returned custom domain name ListBucketCustomDomainsResult is the parent node of Domains.

Range

N/A

Domains

Container

Definition

Custom domain name elements

Range

For details, see Domains parameters.

Table 3 Domains parameters

Parameter

Type

Description

DomainName

String

Definition

Custom domain name

Range

The value is a string of 0 to 256 characters.

CreateTime

String

Definition

Time when a custom domain name was created.

Range

  • The value must be a UTC time that complies with the ISO 8601 standard. Example: 2018-01-01T00:00:00.000Z
  • The value is a string of 24 characters.

CertificateId

String

Definition

ID of the certificate bound to the custom domain name.

Range

The value must contain 16 characters.

CertName

String

Definition

Name of the certificate bound to the custom domain name.

Range

The value can contain 3 to 63 characters.

Error Responses

No special error responses are returned. For details about error responses, see Table 2.

Sample Request

1
2
3
4
5
6
GET /?customdomain HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com 
Accept: */*
Date: Mon, 14 Jan 2019 08:31:45 +0000
Authorization: OBS UDSIAMSTUBTEST000094:veTm8B18MPLFqNyGh2wmQqovZ2U=

Sample Response

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 000001697693130C80E9D2D29FA84FC2
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSM80AI9weqGUsIFJScVxSKlG4DmypX9
Content-Type: application/xml
Date: Wed, 13 Mar 2019 10:22:24 GMT
Content-Length: 272

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketCustomDomainsResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
  <Domains>
    <DomainName>obs.ccc.com</DomainName>
    <CreateTime>2019-03-13T10:22:05.912Z</CreateTime>
    <CertName>exampleCertificateName</CertName>
    <CertificateId>exampleCertificateId</CertificateId>
  </Domains>
</ListBucketCustomDomainsResult>

Using SDKs to Call APIs

You are advised to use OBS SDKs to call APIs. SDKs encapsulate APIs to simplify development. You can call SDK API functions to access OBS without manually calculating signatures.

Java: not supported

Python

C

Go

BrowserJS: not supported

.NET: not supported

Android: not supported

iOS: not supported

PHP: not supported

Node.js: not supported

References