2015-08-27 2 views
1

создать общественное ведро с S3 клиента с помощью COMAND:Не удается получить общественное ведро с помощью Ceph API

s3cmd mb s3://public_bucket --acl-public 
Bucket 's3://public_bucket/' created 

Я могу видеть это ведро с клиента (s3cmd Ls) и от Rados ГВ (с использованием radosgw-администратор ведра список). Но когда я использую API и отправляю запрос на сервер, я всегда получаю сообщение об ошибке 404. Почему это происходит? Apache, fcgi работают нормально.

Мой запрос:

GET /public-bucket?max-keys=15 HTTP/1.1 
Host: ceph_gw.objectstore.com 

Кроме того, запрос

GET/HTTP/1.1 
Host: ceph_gw.objectstore.com 

дают мне Ответные

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> 

ответ

0

Что нужно проверить, это от заголовков http, если x-amz-acl установлено на соответствующее значение, которое вы запросили. Если да, то, возможно, что-то не так с кодом ACL сервера.

Вы также можете попробовать - https://github.com/minio/mc, который реализует пользовательский интерфейс консоли для http-трафика.

$ mc --debug mb http://ceph_gw.objectstore.com/yourbucket 
$ mc --debug access set public http://ceph_gw.objectstore.com/yourbucket 

Пример

$ 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

s3cmd (по крайней мере с 2011 года) отправил заголовки [ "х-amz- acl "] =" public-read "во время создания корзины, если указано --acl-public. Возможно, у вас есть старшая версия s3cmd, или Ceph не чтит этот заголовок?

+0

Я использую новейшую версию s3cmd. Как я могу проверить, какие заголовки были прочитаны? – bayrinat

+0

Вам нужно будет спросить на форуме Ceph или посмотреть источник в Ceph. –