首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试Riak CS拒绝访问错误?

如何调试Riak CS拒绝访问错误?
EN

Stack Overflow用户
提问于 2016-02-05 03:03:21
回答 1查看 587关注 0票数 0

在一个新的Centos服务器上,我使用official guide在Riak2.1.3和Stanchion 2.1.1的基础上安装了RiakCS2.1.1。

当Riak CS conf文件中启用了anonymous_user_creation时,我能够创建新用户。但是当我禁用它并尝试通过Riak Control (1.0.2)创建新用户时,我得到了一个409 Conflict HTTP状态码。或者,当我尝试通过s3curl列出所有用户时(我已经使用正确的凭据设置了~/.s3curl文件,并使用./s3curl.pl --id=cdn -- -k https://s3.example.com:8081/riak-cs/users命令发送请求),我得到一个错误:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><Message>Access Denied</Message><Resource>/riak-cs/users</Resource><RequestId></RequestId></Error>

我已经在Riak和Stanchion配置中将admin.key和admin.secret设置为创建匿名用户时获得的值。我尝试创建另一个匿名用户,并仔细检查我是否采用了正确的key和secret值。

Riak,Stanchion或Riak CS日志中没有错误的痕迹-除了Riak CS访问日志,但这并不能说明太多。

我不知道下一步该怎么办。任何建议都将受到欢迎。

EN

回答 1

Stack Overflow用户

发布于 2016-02-08 23:01:08

感谢@Joe help,我能够调试这个问题,至少在s3curl上是这样。

事实证明,这与我选择Riak CS的“直接”配置而不是“代理”有关。这意味着我给了它自己的主机名,而不是"s3.amazonaws.com“(由于客户端兼容性问题,Riak CS真的试图伪装成真正的S3 )。

Riak CS使用此字符串计算校验和( erlang-y格式):

代码语言:javascript
复制
["GET","\n",[],"\n",[],"\n",["Mon, 08 Feb 2016 14:00:58 +0000","\n"],[],["/riak-cs/users",[]]]

s3curl遇到了未知的主机名,因此使用了以下一个:

代码语言:javascript
复制
GET\n\n\nMon, 08 Feb 2016 14:10:28 +0000\n/s3.mydoma.in/riak-cs/users

这导致了Access Denied

Fix -添加到~/.s3curl字符串,如:

代码语言:javascript
复制
push @endpoints, 's3.mydoma.in';

现在我将尝试调试Riak CS Control。

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

https://stackoverflow.com/questions/35209433

复制
相关文章

相似问题

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