配置Content Security Policy引入Clarity遇img-src拦截问题求助
CSP拦截Clarity图片资源的原因及解决方法
你的问题出在CSP规则的写法和浏览器匹配逻辑上,以下是具体原因和解决方案:
核心原因:
你添加的https://*.clarity.ms:443规则是多余的,且可能引发匹配异常。对于HTTPS协议来说,默认端口就是443,因此https://*.clarity.ms这条规则本身就已经覆盖了所有使用443端口的*.clarity.ms域名请求,包括明确带:443端口的https://c.clarity.ms:443/c.gif。
部分浏览器在解析同时存在带端口和不带端口的同域名规则时,可能出现匹配优先级异常,导致带端口的请求被误拦截。解决方案:
- 简化规则:直接移除
https://*.clarity.ms:443这条规则,只保留https://*.clarity.ms。修改后的img-src规则应为:img-src 'self' data: https://*.clarity.ms; - 兼容所有端口(可选):如果后续遇到其他端口的Clarity资源请求,可以改用允许该域名下所有端口的规则:
img-src 'self' data: https://*.clarity.ms:*; - 清除缓存:修改CSP后,务必清除浏览器缓存或强制刷新页面,确保新的策略生效,避免旧规则残留导致的拦截。
- 简化规则:直接移除
内容的提问来源于stack exchange,提问作者Michael Johansen
相关产品推荐
相关产品推荐

