首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用Ceph获取公共桶

无法使用Ceph获取公共桶
EN

Stack Overflow用户
提问于 2015-08-27 14:03:02
回答 2查看 1.5K关注 0票数 1

我使用comand从S3客户端创建公共桶:

代码语言:javascript
复制
s3cmd mb s3://public_bucket --acl-public
Bucket 's3://public_bucket/' created

我可以从客户端(S3cmd ls)和radosgw(使用radosgw管理桶列表)看到这个桶。但是,当我使用API并将请求发送到服务器时,我总是会得到一个错误404。为什么会发生这种情况?阿帕奇,fcgi很好。

我的请求:

代码语言:javascript
复制
GET /public-bucket?max-keys=15 HTTP/1.1
Host: ceph_gw.objectstore.com

此外,请求

代码语言:javascript
复制
GET / HTTP/1.1
Host: ceph_gw.objectstore.com

给我答复

代码语言:javascript
复制
HTTP/1.1 200 OK
Date: Thu, 27 Aug 2015 13:20:21 GMT
Server: Apache/2.2.15 (CentOS)
Connection: close
Content-Type: application/xml

<?xml version="1.0" encoding="UTF-8"?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>anonymous</ID><DisplayName></DisplayName></Owner><Buckets></Buckets></ListAllMyBucketsResult>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-07 00:21:23

您需要验证的是,如果将x-amz-acl设置为所请求的适当值,则需要从http标头进行验证。如果是,那么服务器ACL代码可能有问题。

您也可以尝试- https://github.com/minio/mc,它为http流量实现了一个控制台UI。

代码语言:javascript
复制
$ mc --debug mb http://ceph_gw.objectstore.com/yourbucket
$ mc --debug access set public http://ceph_gw.objectstore.com/yourbucket

示例

代码语言:javascript
复制
$ mc --debug access set public s3/deflector
mc: <DEBUG> PUT /deflector?acl= HTTP/1.1
Host: s3.amazonaws.com
User-Agent:  Minio/UNOFFICIAL.GOGET (mc; darwin; amd64)
Content-Length: 0
Authorization: AWS4-HMAC-SHA256 Credential=**REDACTED**/20151107/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-acl;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
X-Amz-Acl: public-read-write
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20151107T002030Z
Accept-Encoding: gzip

mc: <DEBUG> HTTP/1.1 200 OK
mc: <DEBUG> Response Time:  917.38277ms

Set access permission ‘public’ updated successfully for ‘https://s3.amazonaws.com/deflector’
票数 0
EN

Stack Overflow用户

发布于 2015-08-28 13:49:24

s3cmd (至少从2011年起)已经发送标头“least acl”= "public-read“在桶创建过程中指定了if --acl-public。也许您有一个旧版本的s3cmd,或者Ceph不尊重这个标头?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32251516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档