Я хочу, чтобы включить CORS в моем контейнере Rackspace CluodFiles, поэтому после прочтения документации, я вижу, что я должен установить некоторые контейнер метаданных (я использую Python и Pyrax):Как заставить CloudFiles FormPost вернуть заголовок «Access-Control-Allow-Origin», чтобы включить CORS?
from pyrax import cloudfiles
cloudfiles.set_container_metadata(container_name, {
'X-Container-Meta-Access-Control-Allow-Origin': 'localhost:8000',
'X-Container-Meta-Access-Control-Expose-Headers': 'Access-Control-Allow-Origin',
'X-Container-Meta-Access-Control-Max-Age': '10',
})
print cloudfiles.get_container_metadata(container_name)
И я получаю в качестве вывода :
{'x-container-meta-access-control-allow-origin': 'localhost:8000',
'x-container-meta-access-control-expose-headers': 'Access-Control-Allow-Origin',
'x-container-meta-access-control-max-age': '10',
'x-container-meta-access-log-delivery': 'false'}
Но браузер не получает в предполетной запрос OPTIONS
в Access-Control-Allow-Origin
, поэтому он отменяет вызов AJAX:
HTTP/1.1 401 Unauthorized
Content-Length: 131
Content-Type: text/html; charset=UTF-8
Allow: HEAD, GET, PUT, POST, COPY, OPTIONS, DELETE
X-Trans-Id: txXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Date: Wed, 13 Nov 2013 20:07:34 GMT
Connection: keep-alive
Что не хватает?
Спасибо!
OP - Что вы используете на стороне браузера для обработки загрузки файлов. –
@ChrisRasco Извините, это была опечатка, я использую 'localhost: 8000' как значение Allow Origin; Я также пробовал с 'example.com'; но проблема не является неправильным значением заголовка, просто нет заголовка вообще. Я собираюсь проверить страницу примера сейчас. Благодаря! –