我们在 Centos 7 上安装了 Kibana 5.5.2,并配置了许多仪表板,所有仪表板都可以顺利连接到 IP:5601。
一位客户要求我们让他自己的仪表板在特定主机名下可访问。我们通过 Apache 和 Nginx 代理尝试了很多配置,但都没有成功。
更多详细信息请参见:
- 客户想要去类似的地方http://dasboard.customer.com 并以嵌入模式(全屏)查看仪表板。网址必须保持“静态”(.com 后面不附加任何上下文或值)
我们将 Apache 配置为将此虚拟主机代理到 Kibana 提供的特定“快照短网址”(具有
/goto/some-alphanumeric-code 上下文的网址),但我们收到很多 Kibana
错误或 404(可能很多资源丢失并且没有用这种代理密码重新映射)ProxyPass / http://10.10.102.4:5601/goto/be563e821f356144222a28b348e48a2d?embed=true nocanon
有人能给我们一些提示或例子吗?如果您需要更多信息,请问我。
多谢!
答案1
所以我遇到了同样的问题。我们想在公开的门户应用程序中显示一些仪表板,但 kibana 位于私有子网中,您只能从门户所在的服务器访问,或者如果您是用户,则可以通过 VPN 访问。
我的 nginx 配置如下
resolver 10.10.0.2;
set $kibana_endpoint https://kibana.prod.domain.com;
如果我没记错的话,你需要解析器行才能set
工作。这需要是你的 DNS 服务器。如果你使用 IP 和
然后,我们为想要显示的仪表板创建了一个 URI,它是
#
# allows non-vpn users to see API dashboard
location /view/platform/ {
rewrite ^/view/platform/(.*) /$1 break;
proxy_pass $kibana_endpoint;
}
答案2
正如@Mike 在他的第二条评论中所建议的那样,最后我只是使用了 Apache 公开的 iframe。
在/var/www/html/index.html
:
<html>
<head>
<style>
body {
margin: 0;
}
iframe {
max-width: 100%;
width: 100%;
height: 100%;
overflow: hidden;
border: none;
margin: auto;
}
</style>
</head>
<body>
<iframe
src="https://localhost:5601/goto/59a0cd9d5b20600031114818b6ac0dd5?embed=true"
scrolling="yes"
></iframe>
</body>
</html>
如果使用 CA 签名的 SSL 证书(而不是自签名的),浏览器就不会抱怨 iframe。