在新的Centos服务器上,我使用official guide在Stanchion 2.1.1的Riak 2.1.3之上安装了Riak CS 2.1.1。
在Riak CS配置文件中启用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
命令发送请求)我收到错误:
<?xml version="1.0" encoding="UTF-8"?><Error><Code>AccessDenied</Code><Message>Access Denied</Message><Resource>/riak-cs/users</Resource><RequestId></RequestId></Error>
我在Riak CS和Stanchion中设置了admin.key和admin.secret配置我创建匿名用户的值。我试图创建另一个匿名用户,并仔细检查我是否正确使用密钥和密钥值。
Riak,Stanchion或Riak CS日志中没有任何错误 - 除了Riak CS访问日志,但这并不能说明多少。
我不知道下一步该做什么。任何建议都会受到欢迎。
答案 0 :(得分:0)
感谢@Joe帮助,我至少可以为s3curl调试此问题。
事实证明,我选择了Riak CS的“直接”配置而不是“代理”。这意味着我已经给它自己的主机名而不是“s3.amazonaws.com”(由于客户端的兼容性问题,Riak CS真的试图伪装成真正的S3)。
虽然Riak CS使用此字符串来计算校验和(以erlang-y格式):
["GET","\n",[],"\n",[],"\n",["Mon, 08 Feb 2016 14:00:58 +0000","\n"],[],["/riak-cs/users",[]]]
s3curl,遇到未知的主机名,使用了这个:
GET\n\n\nMon, 08 Feb 2016 14:10:28 +0000\n/s3.mydoma.in/riak-cs/users
导致Access Denied
。
修复 - 添加到~/.s3curl
字符串,如:
push @endpoints, 's3.mydoma.in';
现在我将尝试调试Riak CS Control。