iframe grafana怎么解决跨域问题
情况: 本人目前有一个需求就是在自己公司的页面上展示grafana的各种图表,目前已经做到的情况是使用iframe在grafana那边配置打开了限制同源cookie的策略,这样只要一次登录grafana就能够在cookie不过期的情况下,正常展示grafana界面,如图:
现在想做到cookie如果过期自动登录,思路是grafana那边有一个api,在http报文头添加:Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk,可以直接返回页面。 但是因为iframe的src不能够直接添加报文头,所以只能通过axios之类的工具做http请求,然后把返回的html注入到srcdoc, 这是在跨域前提下。 我那边本地测试的vue cli proxy已经配置了
api是其他接口使用的ip /d是grafana的,目前的问题是,返回的html里面还有其他的请求 页面疯狂闪,而且报错:
Uncaught DOMException: Failed to execute 'pushState' on 'History'
我推测的可能原因是这些其他的请求没有被成功代理,但是翻了下vue cli关于proxy的文档 没找到怎么把除api请求的其他代理到47.103.75.35这个地址,可能做不到(因为这样无法区分自己本地的请求发送的位置),所以不知道这个问题有没有大神有其他解决方案
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将 X-Frame-Options 设为allow 即可
请教一下 在vue中适应grafana的时候一直报 in a frame because it set 'X-Frame-Options' to 'deny' 请教一下你有碰到过嘛?