跨域策略文件

跨域策略文件允许托管在其他地方的网页使用客户端技术,例如 Flash、Java 和 Silverlight 与 Swift API 进行交互。

有关跨域策略文件的目的和结构的描述,请参阅 https://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/xdomain.html。跨域策略文件安装在 Web 服务器的根目录下(即路径为 /crossdomain.xml)。

crossdomain 中间件响应路径 /crossdomain.xml,并返回一个 XML 文档,例如

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd" >
<cross-domain-policy>
    <allow-access-from domain="*" secure="false" />
</cross-domain-policy>

您应该使用适合您网站的策略。提供的示例和默认策略旨在说明如何从语法上构建跨域策略文件 - 它们不是建议。

配置

要启用此中间件,请将其添加到 proxy-server.conf 文件中的管道中。它应该在任何身份验证(例如,tempauth 或 keystone)中间件之前添加。在此示例中,省略号 (…) 表示您可能选择使用的其他中间件

[pipeline:main]
pipeline =  ... crossdomain ... authtoken ... proxy-server

并添加一个过滤器部分,例如

[filter:crossdomain]
use = egg:swift#crossdomain
cross_domain_policy = <allow-access-from domain="*.example.com" />
    <allow-access-from domain="www.example.com" secure="false" />

对于续行,在续行文本前添加一些空格。确保放置一个完全空白的行以终止 cross_domain_policy 值。

cross_domain_policy 名称/值是可选的。如果省略,则策略默认为您指定的内容

cross_domain_policy = <allow-access-from domain="*" secure="false" />

注意

默认策略非常宽松;这适用于大多数公共云部署,但可能不适用于所有部署。另请参阅:CWE-942