gpt4 book ai didi

应用内容安全策略后 Azure 交换不起作用

转载 作者:行者123 更新时间:2023-12-02 06:44:48 24 4
gpt4 key购买 nike

我刚刚将内容安全策略应用到我的开发环境中的 Azure Web 应用程序,并且运行良好。

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

Cannot swap slots for site 'MySite' because the worker process in 'staging' slot aborted the warmup request. This may happen if site has IP Restriction or URL rewrite rules that block HTTP requests.

这是我正在应用的策略(如我的 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'"/>

问题是什么?

最佳答案

Azure 不喜欢 web.config 中 Content-Security-Policy 值中的回车符。

如果您使用应用服务编辑器(可通过 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: 'unsafe-inline';&#xD;&#xA; img-src 'self' https: 'unsafe-inline' data: blob:;&#xD;&#xA; connect-src 'self' https:; &#xD;&#xA; font-src 'self' https:;&#xD;&#xA; object-src 'none';&#xD;&#xA; media-src 'self';&#xD;&#xA; child-src 'self';&#xD;&#xA; form-action 'self';&#xD;&#xA; frame-ancestors 'none'

简而言之,我们需要将 CSP 全部输入一行,这会降低可读性,但 Azure 需要进行交换。

关于应用内容安全策略后 Azure 交换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54494909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com