默认情况下,elasticsearch及 kibana均适合内网访问。可以通过安装 x-pack提供的 securiy机制实现 kibana的公网访问。
本文实现了不通过x-pack的security机制
假设 elasticsearch及 kibana均已经安装在一台机器上,该机器有公网地址,且es和kibana 只绑定了localhost
这个时候,外部机器是不能访问 kibana的5601端口的。
1、安装 nginx
2、修改 ngnix的配置,配置反向代理,并加上 auth_basic
server {
listen 80;
server_name www.your-domain.com;
location /kibana/ {
auth_basic "Please input username and password.";
auth_basic_user_file /etc/nginx/conf.d/kibana.passwd;
proxy_pass http://localhost:5601/;
proxy_set_header Host $host;
}
}
3、创建 kibana.passwd文件
printf "username:$(openssl passwd -crypt 123456)\n" >kibana.passwd
把上面的kibana.passwd 文件 放入 /etc/nginx/conf.d/ 中
4、修改 kibana.yml
server.basePath: "/kibana"
注意 这里的 没有 / 结尾
5、重启 nginx,和 kibana
6、通过外部机器 http://www.your-domain.com/kibana 即可访问,会提示用户名密码