注意
本文档适用于 Ceph 的开发版本。
Common Entities
Bucket and Host Name
There are two different modes of accessing buckets: path-style and virtual-hosted-style. Path-style requests identify the bucket as the top-level directory of the request’s path
GET /mybucket HTTP/1.1
Host: cname.domain.com
Most S3 clients default to virtual-hosted-style access, where the bucket name is instead indicated as part of the fully-qualified domain name
GET / HTTP/1.1
Host: mybucket.cname.domain.com
Path-style access is deprecated by AWS. See the Amazon S3 Path Deprecation Plan for more information.
To configure virtual hosted buckets, you can either set rgw_dns_name = cname.domain.com in ceph.conf or add cname.domain.com to the list of hostnames in your zonegroup configuration. See Ceph Object Gateway - Multisite Configuration for more on zonegroups.
Here is an example of a ceph config set comamnd that sets rgw_dns_name to cname.domain.com
ceph config set client.rgw.<ceph authx client for rgw> rgw_dns_name cname.domain.dom
提示
You can define multiple hostnames directly with the rgw_dns_name parameter.
提示
When SSL is enabled, the certificates must use a wildcard in the domain name in order to match the bucket subdomains.
注意
When Ceph Object Gateways are behind a proxy, use the proxy’s DNS name instead. Then you can use ceph config set client.rgw to set the DNS name for all instances.
注意
The static website view for the s3website API must be served under a different domain name. This is configured separately from rgw_dns_name, in rgw_dns_s3website_name.
Common Request Headers
Request Header |
描述 |
|---|---|
|
Length of the request body. |
|
Request time and date (in UTC). |
|
The name of the host server. |
|
Authorization token. |
Common Response Status
HTTP状态 |
Response Code |
|---|---|
|
Continue |
|
Success |
|
Created |
|
Accepted |
|
NoContent |
|
Partial content |
|
NotModified |
|
InvalidArgument |
|
InvalidDigest |
|
BadDigest |
|
InvalidBucketName |
|
InvalidObjectName |
|
UnresolvableGrantByEmailAddress |
|
InvalidPart |
|
InvalidPartOrder |
|
RequestTimeout |
|
EntityTooLarge |
|
AccessDenied |
|
UserSuspended |
|
RequestTimeTooSkewed |
|
NoSuchKey |
|
NoSuchBucket |
|
NoSuchUpload |
|
MethodNotAllowed |
|
RequestTimeout |
|
BucketAlreadyExists |
|
BucketNotEmpty |
|
MissingContentLength |
|
PreconditionFailed |
|
InvalidRange |
|
UnprocessableEntity |
|
InternalError |