你对如何配置swift以允许cors有任何想法或链接资源。我正在使用openstack swift中的javascript上传功能,但我得到一个错误“No Access-Control-Allow-Origin”。感谢
答案 0 :(得分:0)
也许您正在尝试将未附加页面原点的容器到达容器的X-Container-Meta-Access-Control-Allow-Origin标头。 您可以使用类似curl:
的内容将其附加到容器中curl -X POST -H 'X-Auth-Token: xxx' \
-H 'X-Container-Meta-Access-Control-Allow-Origin: http://localhost' \
http://192.168.56.3:8080/v1/AUTH_test/cont1
以下是有关Openstack文档的主题的完整说明: http://docs.openstack.org/developer/swift/cors.html
答案 1 :(得分:0)
对于任何前往官方docs的人,然后被卡在cURL帖子的参数中。
这是两种方法。
使用pip install python-openstackclient
获取包并使用ENV vars authenticate。
一旦您可以发出openstack container show your-container
之类的命令,您也可以使用set --property
。
E.g
openstack container set --property Access-Control-Allow-Headers='Content-Type, X-CSRFToken' your-container
openstack container set --property Access-Control-Allow-Origin='https://your.domain.com https://other.domain.com' your-container
为了用户卷曲,您想发布如下命令:
curl -i -X POST -H 'X-Auth-Token: <YOUR_TOKEN>' \
-H 'X-Container-Meta-Access-Control-Allow-Origin: https://your.domain.com ' \
<YOUR_STORAGE_URL/your-container>
为此,您需要找到YOUR_TOKEN和YOUR_STORAGE_URL。
您可以使用python-swiftclient(pip install python-swiftclient
)。验证后,运行
swift stat -v --info
输出将包含:
StorageURL: YOUR_STORAGE_URL
Auth Token: YOUR_TOKEN
Account: v1
Containers: 99
Objects: 9999
Bytes: 999999
Strict-Transport-Security: max-age=31536000; includeSubdomains
Server: nginx
Connection: keep-alive
X-Timestamp: 1505478377.08455
X-Account-Bytes-Used-Actual: 9999999
X-Trans-Id: tx009999999999a9-999999-9999999-default
Content-Type: text/plain; charset=utf-8
Accept-Ranges: bytes