Kibana版本分别使用了7.16.3和7.17.8
共享的仪表盘public url iframe嵌入代码,嵌套给其它web页面之后,通过浏览器请求该页面,均出现嵌入的iframe无法登录用户的情况,配置了匿名访问,则一直循环身份验证,‘正在加载 Elastic’和
‘
欢迎使用 Elastic
正在进行身份验证……
’
两个界面一直循环切换。
chrome调试一直报如下错误:
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
无法进入显示仪表盘图表内容,但是将对应地址直接放到浏览器地址栏请求则能正常以匿名身份跳转显示仪表盘内容,唯独在iframe里面不行,请问这个是什么原因呢?
问题找到了,原因是web服务器与kibana服务器不在同一台服务器时的cookie访问权限问题。
解决方式1:需要kibana配置好安全连接及配置sameSiteCookies 为 “None”:
xpack.security.sameSiteCookies: "None"
解决方式2:确保访问的web服务器域名和访问kibana的域名为同一个,或同一台服务器下。