前端集成 sentry 跨域怎么办?

发布于 2022-09-12 22:43:35 字数 413 浏览 31 评论 0

按照 sentry 文档,将代码集成到前端项目里:

import * as Sentry from '@sentry/react';
import { Integrations } from '@sentry/tracing';

Sentry.init({
  dsn: 'http://xxxx@xxx:9000/2',
  integrations: [new Integrations.BrowserTracing()],
  tracesSampleRate: 1.0
});

但前端项目会报跨域:

我查了 sentry 文档和网上文章,几乎没找到靠谱的解决方案,这个应该怎么解决?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

梦境 2022-09-19 22:43:35

既然跨域那么就是允许跨域咯。

  1. CORS。 'http://xxxx@xxx:9000/2' 这个服务端配置好。
  2. 本地代理,把 'http://xxxx@xxx:9000/2' 改成 '/2',然后在自己服务端 nginx 配置proxy_pass 咯
離人涙 2022-09-19 22:43:35

想请教下,问题最后是如何解决的呢

白馒头 2022-09-19 22:43:35

用whistle代理可以解决
比如: https://xxxx:9000 http://xxxx:9000
这时候再看请求,地址已经变成了whistle本地的地址,说明成功了
image.png

一梦等七年七年为一梦 2022-09-19 22:43:35

我的做法(docker安装的,自己的虚拟机vm 和 本地的前端项目)sentry v22.5.0(目前最新)版本 docker v20.10.16 docker-compose v2.6.0
1.删除所有sentry相关的容器,镜像
2.重新git下载源码,切换到想要的版本目录
3.重新./install.sh
4.重新docker-compose up -d
注。我还加个nginx去做反向代理,以下是nginx的配置

server{
  listen 9000;
  server_name  localhost;

  location / {
    add_header Access-Control-Allow-Headers *;
    add_header Access-Control-Allow-Methods *;
    add_header Access-Control-Allow-Credentials true;
    add_header Access-Control-Allow-Origin *;
    add_header Cache-Control no-cache;
    if ($request_method = 'OPTIONS') {
        return 200;
    }
  }
}

然后就成功了 状态码为200了
sentry跨域问题

流年已逝 2022-09-19 22:43:35

请问下这个最终怎么解决的呢?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文