使用docker 安装的NebulaGraph Studio,然后iframe嵌入此登录地址,火狐可以,但是谷歌报错cookie

  • nebula 版本:3.8.0
  • NebulaGraph Studio版本:3.10.0
  • 部署方式:单机
  • 安装方式:Docker
  • 是否上生产环境: N
  • 问题的具体描述
    使用docker-compose安装 NebulaGraph 和 NebulaGraph Studio
    然后通过浏览器 http://ip:7001可以正常访问,然后将此地址通过iframe嵌入到vue的页面中,正常显示登录,但是点击登录会报错:

检查发现
在接口http://172.20.10.5:7001/api/config/llm的时候,请求中没有cookie信息

异常的请求

正常的请求:

vue页面代码:

如何设置跨域的同源问题呢

进入容器内部,修改/app/etc/studio-api.yaml
将CorsOrigins: ,改为 CorsOrigins: [“*”]之后,直接访问和通过iframe访问都不可以了

1 个赞

需要宿主页面和studio页面是同一个origin,比如宿主是parent.studio.com, studio页面是 sub.studio.com,不然cookie set不下来

1 个赞

很感谢您的回复,请问一定要域名才可以吗,iframe 宿主页面和studio页面 在同一个VMware虚拟机,然后使用ip 不可以吗,我刚尝试了一下 同一个ip,还是不行,可能是端口原因导致还不在同一个origin
配置文件:/app/etc/studio-api.yaml这个里面的CorsOrigins: 有什么作用呢

设置了虚拟机的 hostname,然后iframe 地址写虚拟机的hostname,浏览器也使用hostname:80访问(nginx的转发地址) 就可以了,非常感谢
只是还是不太明白配置文件:/app/etc/studio-api.yaml这个里面的CorsOrigins: 有什么作用

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。