如何修复React.js项目启动时出现的Sentry 403错误?
问题修复方案
这个403报错和本地是否安装Sentry依赖无关,本质是Sentry上报请求被服务端鉴权拦截,之前重装依赖的排查方向完全错了,按以下场景对应处理即可:
场景1:新建项目不需要使用Sentry能力
这是90%以上新建React项目遇到这个报错的原因——脚手架自带了默认的Sentry示例配置,你本身没有开通对应Sentry项目的权限,自然会被拦截:
- 全局搜索项目代码,找到
Sentry.init({...})初始化代码块,通常位于src/index.js、src/reportWebVitals.js或单独的sentry.config.js文件中,直接注释或删除该段代码 - 检查项目根目录的
.env、.env.development等环境变量文件,删除所有和Sentry相关的配置项,比如REACT_APP_SENTRY_DSN、REACT_APP_SENTRY_KEY - 如果package.json里有预置的Sentry打包插件、上报脚本,不需要的话可以直接卸载相关依赖,执行
npm uninstall @sentry/react @sentry/tracing @sentry/webpack-plugin后重启项目即可
场景2:需要正常接入自有Sentry服务
- 全局替换代码里写死的公开示例/他人的Sentry上报地址,换成你自己Sentry项目后台生成的合法DSN,报错里的
sentry_key=31f33ef1a1a74d32a00749c3718b640d不属于你的项目,必然会被服务端拦截 - 登录你自己的Sentry项目后台,找到「允许来源域名」配置项,把本地开发地址
localhost、127.0.0.1加入白名单;如果开了IP白名单、密钥校验规则,同步把本地开发环境的访问权限放开 - 建议增加环境判断配置,开发环境默认关闭Sentry上报,避免调试时刷报错:
Sentry.init({ dsn: "你自己的Sentry DSN", integrations: [new Sentry.BrowserTracing()], tracesSampleRate: 1.0, // 仅生产环境启用Sentry enabled: process.env.NODE_ENV === 'production' })
内容的提问来源于stack exchange,提问作者Ariana
相关产品推荐
相关产品推荐

