Docker容器中Superset关于Iframe无法加载的问题

公司项目用的BI工具Superset,数据分析生成的Chart,浏览器单独访问能够加载出来,但是iframe插入html,一直不能渲染出来,网上参考了很多,大致说法都不一样,效果都没有用,后来开始分析配置文件的参数,发现是版本比较低,我这边是0.36,不适用,后来修改了参数才得以解决,记录一下

参考:docker:容器中修改superset配置文件,避免iframe跨站访问问题

   

以上定位到superset容器:

然后以root帐户进入容器:

执行 docker exec -it --user root 5dd1c0bc2d60 /bin/bash

注意空格问题,否则容易报错 

找配置文件进行修改:

find ./ -type f -name config.py

进入目录:

cd /usr/local/lib/python3.6/site-packages/superset

修改文件,注意容器中使用vi报错没这个命令,使用不了,需要安装一下,参考:

apt-get install  vim

修改config.py文件中的参数 :vi config.py

PUBLIC_ROLE_LIKE_GAMMA = True

注释:授予公共角色与GAMMA角色相同的权限集。如果想让匿名用户查看,可以设置这里,在仪表盘对特定数据集的授权显示,也在这里设置。

很多网上说要修改HTTP_HEADERS :Dict[str,Any]={},我修改了没有用,原本是红色区域的那个,后来我又改了回去

接下来:修改public权限

can explore on Superset为导出图表
can explore json on Superset为导出图表json
all database access on all_database_access访问所有数据库权限,也可以设置单个

can csrt token on Superset   这个应该是免登录验证

修改到这里,照着网上的说法,本应该是可以的了,但是我还是渲染不出来

再参考:      superset(master)iframe跨域集成时遇到难题?

发现是版本低的问题,博文中分析了防御的三道墙,我就不贴了,具体看上面的博文

然后我修改了config.py配置文件的参数

WTF_CSRF_EXEMPT_LIST = [
    "superset.views.core.explore_json"
    ]

 退出容器:exit

重启docker :docker stop superset

                    docker start superset

页面成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值