Notice
This document is for a development version of 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 (FQDN):
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 the FQDN used for the Ceph Object Gateway, for both path-style and
virtual-hosted-style access, you can either set rgw_dns_name
to cname.domain.com in the Monitor configuration database or
add cname.domain.com to the list of hostnames in your zonegroup
configuration. See Monitor configuration database for more on configuration database
and Ceph Object Gateway - Multisite Configuration for more
on zonegroups.
Here is an example of a ceph config set command 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 delimited by commas 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.