Configuring a Custom Domain Name for a Bucket
Functions
OBS uses the PUT method to configure a custom domain name for a bucket. After the configuration is successful, you can access the bucket through the domain name.
To perform this operation, the user must be the bucket owner or the bucket owner's IAM user that has permissions required for configuring custom domain names.
Ensure that the custom domain name can correctly resolve to the OBS service through DNS.
Authorization Information
To call this API, you must be the bucket owner or have the permission to configure a custom domain name for 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:PutBucketCustomDomainConfiguration 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:putBucketCustomDomainConfiguration permission, as shown in the following table. For details, see Creating a Custom IAM Identity Policy.
Action
Access Level
Resource Type (*: Required)
Dependencies
obs:bucket:putBucketCustomDomainConfiguration
Write
bucket *
-
-
-
- obs:EpochTime
- obs:SourceIp
- obs:TlsVersion
- obs:CustomDomain
- If you use bucket policies for authorization, you need to grant the obs:bucket:PutBucketCustomDomainConfiguration permission. For details, see Creating a Custom Bucket Policy.
Request Syntax
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
PUT /?customdomain=domainname HTTP/1.1 User-Agent: curl/7.29.0 Host: bucketname.obs.region.myhuaweicloud.com Accept: */* Date: date Authorization: authorization string Content-Length: length Content-MD5: n58IG6hfM7vqI4K0vnWpog== <CustomDomainConfiguration> <Name>name</Name> <CertificateId>certificateId</CertificateId> <Certificate>certificate</Certificate> <CertificateChain>certificateChain</CertificateChain> <PrivateKey>privateKey</PrivateKey> </CustomDomainConfiguration> |
Request Parameters
|
Parameter |
Mandatory (Yes/No) |
Type |
Description |
|---|---|---|---|
|
customdomain |
Yes |
String |
Definition: Custom domain name of a bucket. Constraints: A bucket can have a maximum of 30 domain names. One custom domain name can be used for only one bucket. Range: The value is a string of 0 to 256 characters. Default value: None |
Request Header
|
Header |
Type |
Mandatory (Yes/No) |
Description |
|---|---|---|---|
|
Content-MD5 |
String |
No |
Definition: This header is mandatory when you configure a custom domain name certificate to verify that the content of the request body is consistent with what was sent. Base64-encoded 128-bit MD5 value of the request body calculated according to RFC 1864. Example: n58IG6hfM7vqI4K0vnWpog== Constraints: None Range: None Default value: None |
For details about other common headers, see Table 3.
Request Elements
The request elements are optional. If the request elements are empty, the certificates bound to the same custom domain name will be overwritten.
|
Parameter |
Mandatory (Yes/No) |
Type |
Description |
|---|---|---|---|
|
Name |
No |
String |
Definition: Certificate name Constraints: Only uppercase letters, lowercase letters, digits, underscores (_), hyphens (-), and periods (.) are allowed. Range: The value can contain 3 to 63 characters. Default value: None |
|
CertificateId |
No |
String |
Definition: Certificate ID. If no certificate ID is specified, the system automatically generates a certificate ID. Constraints: If you use the CCM service to host a certificate, the specified certificate ID must be the same as that on CCM. If you need to manage the certificates by yourself, do not set the certificate ID in the request. Range: The value is a string of 16 characters consisting of letters and digits. Default value: An automatically generated random certificate ID that consists of 16 characters |
|
Certificate |
No |
String |
Definition: Certificate content, which can contain intermediate and root certificates. Constraints:
Range: The value is a string of 0 to 65536 characters. Default value: None |
|
CertificateChain |
No |
String |
Definition: Certificate chain. The value can be passed through the Certificate field. Constraints: Use escape characters \n or \r\n to replace line breaks. Range: The value is a string of 0 to 8192 characters. Default value: None |
|
PrivateKey |
No |
String |
Definition: Private key of a certificate. Constraints:
Range: The value is a string of 0 to 4096 characters. Default value: None |
Response Syntax
1 2 3 4 5 6 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: request id x-obs-id-2: id Date: date Content-Length: 0 |
Response Headers
The response to the request uses common headers. For details, see Table 1.
Response Elements
This response contains no elements.
Error Responses
No special error responses are returned. For details about error responses, see Table 2.
Sample Request 1: Binding a Custom Domain Name
Binding a custom domain name
1 2 3 4 5 6 7 |
PUT /?customdomain=obs.ccc.com HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: Mon, 14 Jan 2019 08:31:36 +0000 Authorization: OBS UDSIAMSTUBTEST000094:u2kJF4kENs6KlIDcAZpAKSKPtnc= Content-Length: 0 |
Sample Response 1
1 2 3 4 5 6 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 000001697692CC5380E9D272E6D8F830 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSsfu2GXj9gScHhFnrrTPY2cFOEZuvta Date: Wed, 13 Mar 2019 10:22:05 GMT Content-Length: 0 |
Sample Request 2: Binding a Custom Domain Name
Binding a custom domain name and server certificate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
PUT /?customdomain=obs.ccc.com HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: Mon, 14 Jan 2019 08:31:36 +0000 Authorization: OBS UDSIAMSTUBTEST000094:u2kJF4kENs6KlIDcAZpAKSKPtnc= Content-Length: 314 Content-MD5: n58IG6hfM7vqI4K0vnWpog== <CustomDomainConfiguration> <Name>exampleCertName</Name> <CertificateId>exampleCertificateId</CertificateId> <Certificate>exampleCertificate</Certificate> <CertificateChain>exampleCertificateChain</CertificateChain> <PrivateKey>examplePrivateKey</PrivateKey> </CustomDomainConfiguration> |
Sample Response 2
1 2 3 4 5 6 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 000001697692CC5380E9D272E6D8F830 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSsfu2GXj9gScHhFnrrTPY2cFOEZuvta Date: Wed, 13 Mar 2019 10:22:05 GMT Content-Length: 0 |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot