我正在尝试加载一个保存在亚马逊云服务S3中的网页,并使用Cloudfront从我的域中加载它。我收到以下错误消息:
Refused to load media from 'https://www.example.com/video.mp4' because it violates the following Content Security Policy directive: "default-src 'none'". Note that 'media-src' was not explicitly set, so 'default-src' is used as a fallback.我在页面中有以下标题,可以通过浏览器查看
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
<html>
<!-- <script src="screen.js"></script> -->似乎Content-Security-Policy被忽略了?
我在Chrome和Firefox中收到了同样的错误。
发布于 2021-10-22 23:03:30
感谢granty在上面的评论中回答这个问题。
问题是lambda@edge通过HTTP头添加了第二个CSP。在2个CSP的情况下,两个策略中最严格的规则都适用,因此meta标签中的CSP不能减轻lambda@edge发布的CSP。您应该使用以下两种方法之一: meta标记或lambda@edge函数来传递策略
https://stackoverflow.com/questions/69646964
复制相似问题