1

我在基于 Cloudfoundry 的 Swisscom 应用程序云中使用 python 应用程序。该应用程序创建存储在 s3 (dynstrg) 中的 txt 和 js 文件以确保可用性。

我正在尝试异步加载这些文件的数据,但由于未设置标题“Allow-Control-Allow-Origin”并且位于不同的主机上,因此出现“XHTMLRequest 无法加载”错误。S3 就像https://ds31s3.swisscom.com/一样... https://.scapp-corp.swisscom.com/ 上的应用程序

有没有办法可以在 manifest.yml 或类似文件中以某种方式为 dynstrg 服务设置这些标头?

4

1 回答 1

1

当直接从 S3 向浏览器提供文件时(无需与后端应用程序交互),您通常会在 S3 存储桶上设置 CORS 设置:http: //docs.aws.amazon.com/AmazonS3/latest/dev/cors.html#我如何启用 cors

不幸的是,Swisscom 的dynstrg服务基于 Atmos,它不提供设置 CORS 设置(正如我们告诉我们的那样,EMC 也不打算实施此设置)。

为了解决这个问题,我建议你在你的 python 应用程序中实现一个端点,通过从 Atmos 获取 txt 和 js 文件来提供它们。这会带来性能损失,但会解决您的 CORS 问题。

于 2016-07-25T06:36:18.930 回答