You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

内容安全策略(CSP)下调用同主机REST API报错问题咨询

CSP调用本地不同端口服务报错解决说明

报错根因

你遇到的报错是浏览器的CSP规则拦截导致的,和被调用的Spring Boot服务有没有配置CSP没有任何关系:

  • Content-Security-Policy是页面所属服务返回给浏览器的响应头,规则由浏览器对当前加载的页面生效,会限制该页面内发起的所有网络请求、资源加载行为,不是用来限制外部请求访问Jetty服务的。
  • CSP规则中'self'的判定标准是「协议+域名+端口三者完全匹配」,你的前端页面运行在Jetty服务上,Spring Boot服务的端口是8080,和Jetty的服务端口不一致,哪怕部署在同一台主机上,也不属于'self'的覆盖范围,所以前端发起接口请求时就会触发CSP拦截。

配置调整说明

你确实需要调整Jetty的CSP规则,但不需要全量放宽,只需要调整connect-src指令即可,原因如下:
connect-src专门用来限制页面发起的接口、WebSocket、Fetch等网络请求的目标源,仅放宽该指令的范围不会引入额外的XSS、恶意资源加载等安全风险,符合最小权限的安全配置原则。

调整方法

找到原CSP规则中的connect-src 'self';部分,把你要调用的Spring Boot服务源添加到后面即可,修改后的规则示例:

# 其他原有CSP规则保持不变
connect-src 'self' http://localhost:8080 http://server-host-name:8080;
# 其他原有CSP规则保持不变

如果后续有其他同域名下的服务需要调用,也可以基于实际场景添加对应源,尽量不要用无限制的通配符,避免安全隐患。

内容的提问来源于stack exchange,提问作者curious_brain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 07:06:03