CORS support in OpenStack SWIFT

喜你入骨 提交于 2019-12-06 07:36:39

Despite very confusing documentation that led me to believe the container and object metadata of various (incorrect) forms were what I needed, it turned out that I needed to set the following two:

"Access-Control-Allow-Origin: xxx"
"Access-Control-Expose-Headers: X-Foo, X-Bar"

The various documentation that said to use X-Access-Control-Allow-Origin and X-Container-Meta-Access-Control-Allow-Origin didn't work. I gleamed the above after looking through the code.

Openstack Swift

You can set the following headers on a Container level only:

X-Container-Meta-Access-Control-Allow-Origin
X-Container-Meta-Access-Control-Max-Age
X-Container-Meta-Access-Control-Allow-Headers
X-Container-Meta-Access-Control-Expose-Headers

You can set a containers CORS permissions with :

curl -i -X POST https://swift.example.io/v1/AUTH_user/container \
           -H "X-Container-Meta-Access-Control-Allow-Origin: *" \
           -H 'X-Auth-Token: AUTH_xxx'

NOTE: This is how I implement it.

Openstack Swift Docs


Openstack User Guide

You have many more options according to the current Openstack User Guide. They haven't maintained the documentation consistently.


UPDATED INFORMATION

Information relating to the depreciation of x- specifications: https://specs.openstack.org/openstack/api-wg/guidelines/headers.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!