Openstack Swift Cors配置

时间:2015-05-27 08:33:17

标签: openstack openstack-swift

你对如何配置swift以允许cors有任何想法或链接资源。我正在使用openstack swift中的javascript上传功能,但我得到一个错误“No Access-Control-Allow-Origin”。感谢

2 个答案:

答案 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帖子的参数中。

这是两种方法。

使用python-openstackclient

使用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

为了用户卷曲,您想发布如下命令:

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