原文: http://www.cnblogs.com/yjmyzz/p/filebeat-turorial-and-kibana-login-setting-with-nginx.html
kibana是nodejs开发的,本身并没有任何安全限制,直接浏览url就能访问,如果公网环境非常不安全,可以通过nginx请求转发增加认证,方法如下: tips:kibana没有重启命令,要重启,只能ps -ef|grep node 查找nodejs进程,干掉重来。
1、参考以下内容,修改nginx配置文件:
server { listen 80; server_name elk.xxxx.com; location / { auth_basic "secret"; auth_basic_user_file /data/nginx/db/passwd.db; proxy_pass http://localhost:5601; proxy_set_header Host $host:5601; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Via "nginx"; } access_log off; }
上面的配置表示将elk.xxxx.com的请求,转发到服务器的5601端口,同时使用最基本的用户名、密码来认证。
2、配置登录用户名,密码
htpasswd -c /data/nginx/db/passwd.db user1
注意passwd.db的路径要跟nginx配置中的一致,最后的user1为用户名,可以随便改,输入完该命令后,系统会提示输入密码,搞定后passwd.db中就有加密后的密码了,有兴趣的可以cat看下。
提示:htpasswd是apache自带的小工具,如果找不到该命令,尝试用yum install httpd安装
3、关掉kibana端口的外网访问
用nginx转发后,一定要记得配置iptables之类的防火墙,禁止外部直接访问5601端口,这样就只能通过nginx来访问了。
|