1

我正在按照教程安装 swift openstacl 对象存储,在最新的步骤中它要求我这样做:------- "curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' url:8080/auth/v1.0" ------ 获取 X-Storage-Url 和 X-Auth-Token ,然后检查我可以通过键入: curl -v -H 'X-Auth-Token:token-from-x-auth-token-above' url-from-x-storage-url-above

有谁知道这样的命令意味着什么?我真的不明白它的规则!我知道这是识别之王,但究竟是什么意思?

谢谢

4

2 回答 2

7

简而言之,您将密码和帐户发送给 Swift,然后 Swift 将令牌和 url 发回给您。令牌代表经过身份验证的帐户/密码对。URL 代表谁负责此帐户。在实际设置中,可以有两组代理服务器:A 和 B。A 仅用于身份验证。B 用于存储访问。认证后A发回X-Storage-Url给用户,X-Storage-Url是B的域名。

您可以使用令牌和 url 来访问存储。例如,

curl -v -H 'X-Auth-Token: <token>' <url>表示您可以访问该帐户

curl -v -H 'X-Auth-Token: <token>' <url>/container_name -XPUT表示您要container_name在帐户下创建容器。

curl -v -H 'X-Auth-Token: <token>' <url>/container_name/object_name -T localfile表示您要上传localfile到容器并为其命名object_name

令牌由中间件生成。在 Swift 中,您可以选择 3 个身份验证中间件:tempauth、swauth 和 keystone。

如果您有负载平衡问题,您还可以为不同的帐户设置不同的 X-Storage-Urls。

于 2013-05-02T06:21:03.690 回答
1

enter code here卷曲curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction

所以一旦你发出

curl -i -X GET -H 'X-Auth-User: myaccount:me' -H 'X-Auth-Key: secretpassword' http://127.0.0.1:8080/auth/v1.0

curl 正在设置 Header 即 Key,Value Pair to Swift Auth System 以使用 TempAuth 系统进行验证 标题是

X-Auth-User
X-Auth-Key

最后,如果 AUTH 通过,您将获得 OK

HTTP/1.1 200 OK

如果您看到标题,它将包含以下信息

X-Storage-Url: http://127.0.0.1:8080/v1/AUTH_myaccount
X-Auth-Token: AUTH_tk7790238141c343bdb6ad1303e3d3bc00
Content-Type: text/html; charset=UTF-8
X-Storage-Token: AUTH_tk7790238141c343bdb6ad1303e3d3bc00
Content-Length: 0
X-Trans-Id: txab863ae755ec4c8d9aa19-0054bfda6f
Date: Wed, 21 Jan 2015 16:57:19 GMT

这是解释TempAuth的示例链接

于 2015-01-22T04:11:21.090 回答