kibana通过nginx配置访问用户验证

背景:
  现在搭建好了efk,其中kibana是可以在网页上访问的可视化工具,搭建好的kibana默认没有访问控制权限,任何人都能访问,这样存在一些安全隐患和隐私问题。这里我把设置的访问验证过程记录一下。
  现在公司的日志系统在rancher部署的k8s里面,根据部署背景环境,我在网上查看资料,大部分是使用ingress在配置转发时配上annotations,但是不管怎么配置,都达不到我想要的效果,我不太明白是controller的问题,还是rancher搭建的k8s原因,还是其他原因。最后我只得在外部的nginx做转发。
 
  首先找一个云服务器,装上nginx,这里贴一下主要的配置
server {
    listen 80;
    server_name kibana.xxx.cn; #需要访问kibana的域名
    location / { 
        auth_basic "The Kibana Monitor Center";
        auth_basic_user_file /etc/nginx/conf.d/mysecret;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://x.x.x.x:5601; } #访问kibana的地址
}

 

根据以上配置,在同台服务器上设置用户密码文件和域名
1.创建用户密码文件
  #htpasswd -c -b filename username password
  #会生成名为filename的文件
2.将文件放在指定目录下
  #以上配置中用户密码文件为mysecret,放在/etc/nginx/conf.d/目录下
3.域名的话,需要在阿里云上解析,注意解析时填写的ip地址是nginx所在的服务器地址
4.访问验证

 

posted @ 2018-12-07 15:38  _chy  阅读(1600)  评论(0编辑  收藏  举报