应用内容安全策略后,Azure Swap不起作用

时间:2019-02-02 16:15:33

标签: azure swap content-security-policy

我刚刚在开发环境中将内容安全策略应用于Azure Web App,并且运行良好。

我还可以将其上传到Azure上的我的登台站点,并且在那里可以正常运行,并且该策略已正确应用,然后由我的浏览器实施。但是,当我进行交换时,出现以下错误:

  

无法交换网站“ MySite”的版位,因为工作进程在   'staging'插槽中止了预热请求。如果网站有   IP限制或URL重写规则块的HTTP请求。

这是我要应用的策略(在我的 web.config 中定义)

<add name="Content-Security-Policy"
     value="default-src     'none';
            script-src      'self' https: 'unsafe-inline' 'unsafe-eval';
            style-src       'self' https: 'unsafe-inline';
            img-src         'self' https: 'unsafe-inline' data: blob:;
            connect-src     'self' https:;       
            font-src        'self' https:;
            object-src      'none';
            media-src       'self';
            child-src       'self';
            form-action     'self';
            frame-ancestors 'none'"/>

出什么问题了?

1 个答案:

答案 0 :(得分:1)

Azure不象在web.config中的内容安全-策略值的回车符。

如果您使用 App Service编辑器(可通过Azure门户使用)检查 web.config ,那么您将看到回车符已被编码并转换为进入

  

&#xD;&#xA;

创建以下无效的CSP,这就是交换中断的原因:

  

default-src'none';&#xD;&#xA; script-src'self'https:   'unsafe-inline''unsafe-eval';&#xD;&#xA; style-src'self'https:   '不安全直插';&#的xD;&#XA; img-src'self'https:'unsafe-inline'   数据:blob:;&#xD;&#xA; connect-src'self'https :; &#xD;&#xA;   font-src'self'https:;&#xD;&#xA;对象-src的 '无';&#的xD;&#XA;   media-src'self';&#xD;&#xA; child-src'self';&#xD;&#xA;   形式动作'self';&#xD;&#xA;  帧祖先“无”

总之,我们需要输入全部在一行上降低了可读性,但需要天青交换我们的电信运营商。