为什么我在 CSP Connect-src 允许所有时收到错误?

问题描述 投票:0回答:1

我在 NextJs 项目中面临一个令人费解的问题,其中 connect-src 指令触发了内容安全策略 (CSP) 违规,尽管我的配置似乎允许所有连接。我收到的违规错误消息如下:

connect-src:csp_violation:“https://< URL >/api/v2/rest”被阻止 策略“default-src 'self'; script-src”的“connect-src”指令 '自我' '报告样本'; style-src 'self' '报告样本';基本 URI 是……”

这是我实际的 CSP 标头:

     default-src 'self' *.url1.com *.url2.dev *.url3.com *.url4.com *.url5.io; 
     style-src 'self' 'unsafe-inline'; 
     script-src 'self' https://url6.com *.url8.com *.url7.com 'unsafe-eval' 'sha256-<token>=' https://www.url8.com; 
     worker-src blob:; 
     font-src 'self'; 
     frame-src 'self'; 
     media-src 'self'; 
     object-src *; 
     img-src 'self' *.url9.net;
     connect-src *; 
     base-uri 'self';

鉴于此配置,尚不清楚为什么要求

https://< URL>/api/v2/rest

被阻止,因为我的 connect-src 指令明确允许所有与 * 的连接。我正在考虑添加

connect-src:* https://< URL>/api/v2/rest;

明确政策。这是正确的方法吗?还是我应该考虑采取其他步骤来解决此问题?我对如何继续感到有点茫然,希望得到任何指导或建议。

security next.js content-security-policy csp
1个回答
0
投票

当错误消息中的策略与您设置的策略不匹配时,最可能的解释是设置了多个 CSP。所有内容都需要通过所有政策。检查其他策略的响应标头,并尝试确定它们的设置位置/方式,以便能够修改/禁用它们。它们可以在代码、Web 服务器配置或代理中设置。

© www.soinside.com 2019 - 2024. All rights reserved.