Directus 9.24.0中PDF加载的CSP问题求助
解决Directus 9.24.0中PDF展示的Content Security Policy错误
你遇到的错误核心是Content Security Policy(CSP)的object-src指令限制,而非media-src。浏览器加载PDF时若使用<object>、<embed>这类标签,会受object-src规则约束,你之前配置的MEDIA_SRC针对的是音频/视频媒体资源,和当前场景不匹配。
修复步骤:
修改.env配置文件,添加
object-src的允许规则:
针对你的资产域名https://eal.com,配置如下:ASSETS_CONTENT_SECURITY_POLICY_DIRECTIVES__OBJECT_SRC=array:'self',blob:,https://eal.com若需要允许所有HTTPS域名(不推荐,降低安全性),可写为:
ASSETS_CONTENT_SECURITY_POLICY_DIRECTIVES__OBJECT_SRC=array:'self',blob:,https://*注意:.env中数组格式无需额外嵌套引号,直接用
array:开头,逗号分隔规则即可。重启Docker容器,让配置生效:
docker-compose restart directus
额外说明:
- 若你是通过
<iframe>嵌入PDF,还需检查frame-src指令,必要时添加对应域名到该规则中。 - 优先使用具体域名而非通配符
*,避免扩大安全风险。
内容的提问来源于stack exchange,提问作者Suresh Madhaiyan
相关产品推荐
相关产品推荐

