用nginx给kibana、elasticsearch做权限认证
最近一直使用logstash+elasticsearch+kibana作日志分析,通过kibana来查看报表的各种panel,但是每次查看都需要拨线上的VPN,比较麻烦,于是就想到用nginx来给kibana和elasticsearch作个权限认证。认证成功的效果如下:
呵呵,得瑟下。好了,废话不多说,直接上配置。
1、配置nginx密码:nginx可以为网站或目录甚至特定的文件设置密码认证。密码必须是crypt加密的。可以用apache的htpasswd来创建密码。
格式为:htpasswd -b -c site_pass username password
site_pass为密码文件。放在同nginx配置文件同一目录下,当然你也可以放在其它目录下,那在nginx的配置文件中就要写明绝对地址或相对当前目录的地址。
配置文件:
nginx_kibana_auth.conf
<pre name="code" class="html">worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server { listen *:80 ; server_name ip; location / { #你的Kibana地址。 root /data/kibana; index index.html index.htm; auth_basic "Restricted"; #你的nginx密码文件地址 auth_basic_user_file /usr/local/nginx/conf/site_pass_team; } location ~ ^/_aliases$ { proxy_pass http://ip:9200; proxy_read_timeout 90; } location ~ ^/.*/_aliases$ { proxy_pass http://ip:9200; proxy_read_timeout 90; } location ~ ^/_nodes$ { proxy_pass http://ip:9200; proxy_read_timeout 90; } location ~ ^/.*/_search$ { proxy_pass http://ip:9200; proxy_read_timeout 90; } location ~ ^/.*/_mapping$ { proxy_pass http://ip:9200; proxy_read_timeout 90; } # Password protected end points location ~ ^/kibana-int/dashboard/.*$ { proxy_pass http://ip:9200; proxy_read_timeout 90; limit_except GET { proxy_pass http://ip:9200; auth_basic "Restricted"; #你的nginx密码文件地址,如果需要在保存panel时新加认证,多生成一份不用账号密码的文件即可。 auth_basic_user_file /usr/local/nginx/conf/site_pass_support; } } location ~ ^/kibana-int/temp.*$ { proxy_pass http://ip:9200; proxy_read_timeout 90; limit_except GET { proxy_pass http://ip:9200; auth_basic "Restricted"; #你的nginx密码文件地址,如果需要在保存panel时新加认证,多生成一份不用账号密码的文件即可。 auth_basic_user_file /usr/local/nginx/conf/site_pass_support; } } } }
2、开通外网域名,映射到服务器上nginx监听的80端口。
3、修改kibana下的config.js,将elasticsearch: "http://"+window.location.hostname+":9200",修改为elasticsearch: "http://"+window.location.hostname+":80",即可。
4、启动nginx时指定nginx_kibana_auth.conf配置文件即可。
本文允许转载,但请保留出处:http://anonymman.iteye.com/blog/2138312
相关推荐
另外一部分,则需要先做聚类、分类处理,将聚合出的分类结果存入ES集群的聚类索引中。数据处理层的聚合结果存入ES中的指定索引,同时将每个聚合主题相关的数据存入每个document下面的某个field下。