【发布时间】:2016-05-14 13:28:36
【问题描述】:
在新的 Centos 服务器上,我使用 official guide 在 Riak 2.1.3 和 Stanchion 2.1.1 之上安装了 Riak CS 2.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 命令发送请求)我收到错误:
<?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 访问日志,但这并不能说明太多。
我不知道下一步该做什么。欢迎提出任何建议。
【问题讨论】:
-
如果您在 Riak CS 和 s3curl 中启用调试日志记录,它们都应该记录 String To Sign 值 - 首先确保它是相同的。如果是,你仍然被拒绝,请检查双方使用哪种签名算法,我隐约记得关于 Riak CS 不支持最新算法的讨论。
-
@Joe,如何在 Riak CS 中启用调试日志记录? configuration reference 中没有提到这一点
-
点击链接从docs.basho.com/riakcs/latest/cookbooks/configuration/… 到github.com/basho/lager/blob/master/README.md#configuration,然后添加一个带有级别调试的新文件后端或提升现有的console.log
-
@Joe,谢谢!来自 riak-cs 日志的 STS:["GET","\n",[],"\n",[],"\n",["Mon, 08 Feb 2016 14:00:58 +0000"," \n"],[],["/riak-cs/users",[]]];来自 s3curl:GET\n\n\n2016 年 2 月 8 日星期一 14:10:28 +0000\n/s3.doma.in/riak-cs/users。我可以看到这里出了什么问题。将尝试修复。