在 React 应用程序中嵌入 Apache Superset 图表

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

我正在尝试将超集中的图表嵌入到 React 应用程序中。我在本地主机 8088 的 Windows 中通过 Docker 运行超集。当我运行 React 时,它显示 - 拒绝在框架中显示“http://localhost:8088/”,因为它将“X-Frame-Options”设置为“sameorigin”。

如何解决这个问题?

我在 Docker 的 config.py 中添加了以下内容,但仍然显示错误。

X_FRAME_OPTIONS = 'ALLOW-FROM http://localhost:3000'
ENABLE_CORS = True
CORS_ALLOW_ORIGIN = [
    'http://localhost:3000'
]
reactjs apache-superset same-origin-policy x-frame-options
1个回答
0
投票

潜在的解决方案

1。将 X-Frame-Options 设置为 ALLOWALL:

在 config.py 中,将 X_FRAME_OPTIONS 设置为 'ALLOWALL': 蟒蛇

X_F`RAME_OPTIONS = 'ALLOWALL'
This should allow your React app to embed Superset in an iframe.

2。检查Docker环境:

确保在更改配置后重新启动 Superset Docker 容器。您可以停止并重新启动 Docker 容器以应用新设置:

bash
Copy code
docker-compose down
docker-compose up -d

3.浏览器缓存: 清除浏览器缓存或尝试在隐身/私密浏览窗口中打开 React 应用程序,以确保浏览器没有使用 Superset iframe 的缓存版本。

4。检查网络请求:

使用浏览器的开发人员工具检查网络请求。检查 X-Frame-Options 标头是否仍设置为“sameorigin”。如果没有,Superset 配置中的更改可能会生效。

5。检查其他标题:

确保在 Superset 设置中的其他位置(例如在反向代理中)没有设置冲突的标头。

进行这些更改后,尝试再次将 Superset 嵌入到您的 React 应用程序中。如果问题仍然存在,则可能存在影响标头的外部因素,您可能需要检查 Docker 设置或环境中可能影响标头的任何其他组件。

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