Notice
This document is for a development version of Ceph.
Common Entities
Bucket and Host Name
There are two different modes of accessing buckets. The first method identifies the bucket as the top-level directory in the URI:
GET /mybucket HTTP/1.1
Host: cname.domain.com
Most S3 clients nowadays rely on vhost-style access. The desired bucket is indicated by a DNS FQDN. For example:
GET / HTTP/1.1
Host: mybucket.cname.domain.com
The second method 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
Tip
You can define multiple hostnames directly with the
rgw_dns_name
parameter.
Tip
When SSL is enabled, the certificates must use a wildcard in the domain name in order to match the bucket subdomains.
Note
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.
Note
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 |
Description |
---|---|
|
Length of the request body. |
|
Request time and date (in UTC). |
|
The name of the host server. |
|
Authorization token. |
Common Response Status
HTTP Status |
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 |
Brought to you by the Ceph Foundation
The Ceph Documentation is a community resource funded and hosted by the non-profit Ceph Foundation. If you would like to support this and our other efforts, please consider joining now.