首页 > 解决方案 > CSP 阻止来自 S3 的图像

问题描述

我有一个将图像上传到服务器的客户端,然后,服务器获取该图像并将其上传到 S3,等待 URL,然后返回该图像的 URL。

问题是由于某种原因,客户端拒绝加载服务器提供的图像

在控制台中,这是我收到的消息(出于隐私原因删除了实际 URL): 拒绝加载图像“ URL ”,因为它违反了以下内容安全策略指令:“img-src 'self' data:”。

图片以所有读取权限上传,因此任何人都可以读取网址。

HTML 中的 CSP 是这样的:

<meta http-equiv="Content-Security-Policy" content="default-src *; img-src * 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'unsafe-inline' *">

我必须说我正在将亚马逊创建的 URL 传递给客户端。例如:

https://mybucket.s3.us-west-2.amazonaws.com/ecc6898f-56b1-4ad1-bb73-3b5c9749d264.jpeg

标签: angularamazon-web-servicesamazon-s3

解决方案


当指令中有其他条目时,通配符似乎被忽略了

所以试试这个:

<meta http-equiv="Content-Security-Policy" content="default-src *; img-src https 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src  'self' 'unsafe-inline' *">

推荐阅读