我正在按照教程安装swift openstacl对象存储,在lattests步骤中它要求我这样做:------- “curl -v -H'X-Storage-User:测试:测试者'-H'X-Storage-Pass:测试'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
有任何人知道这样的命令可能意味着什么吗?我真的不明白它的规则!我知道这是识别之王,但究竟是什么意思呢?
谢谢
答案 0 :(得分:7)
简而言之,您将密码和帐户发送给Swift,然后Swift将令牌和网址发回给您。令牌代表经过身份验证的帐户/密码对。 URL代表谁负责此帐户。在实际设置中,可以有两组代理服务器:A和B.A仅用于身份验证。 B用于存储访问。身份验证后,A会将X-Storage-Url
发回给用户,X-Storage-Url
是B的杜曼名称。
您可以使用令牌和网址访问存储空间。 例如,
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个auth中间件:tempauth,swauth和keystone。
如果您有负载平衡问题,也可以为不同的帐户设置不同的X-Storage-Urls。
答案 1 :(得分:1)
enter code here
curl 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通过
,你会得到一个OKHTTP/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
的示例链接