ELK之十一----通过nginx代理kibana并实现登陆认证
一、通过nginx代理kibana并实现登陆认证
1、安装nginx
1、编译安装nginx服务
[root@elk-1 nginx-1.14.2]# tar xvf nginx-1.14.2.tar.gz [root@elk-1 nginx-1.14.2]# cd nginx-1.14.2/ [root@elk-1 nginx-1.14.2]# ./configure --prefix=/apps/nginx [root@elk-1 nginx-1.14.2]# make -j 2 && make install
2、修改nginx配置文件,定义一个认证kibana.conf的文件
[root@elk-1 ~]# vim /apps/nginx/conf/nginx.conf include /apps/nginx/conf.d/*.conf; # 在最后一行大括号内定义include } [root@elk-1 ~]# mkdir /apps/nginx/conf.d # 创建一个此目录
3、在/apps/nginx/conf.d目录下创建一个域名访问的kibana.conf配置文件
[root@elk-1 conf.d]# cat kibana.conf upstream kibana_server { server 127.0.0.1:5601 weight=1 max_fails=3 fail_timeout=60; } server { listen 80; server_name kibana-net.com; # 定义域名 auth_basic "Restricted Access"; auth_basic_user_file /apps/nginx/conf/htpasswd.users; location / { proxy_pass http://kibana_server; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
4、在hosts文件中进行域名解析
[root@elk-1 conf.d]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.7.100 kibana-net.com
在本机也需要修改host文件:C:\Windows\System32\drivers\etc
2、开始对nginx加密认证
1、在centos系统安装httpd-tools包,里边有一个htpasswd命令,可以创建用户并进行加密设置
# yum install httpd-tools -y
2、创建一个用户名,并设置一个秘密
[root@elk-1 conf.d]# htpasswd -bc /apps/nginx/conf/htpasswd.users liu 123456 # 第一次创建目录可以加上-c选项,第二次创建第二个账号,就不能再添加-c选项,账号是liu ,密码是123456 Adding password for user liu [root@elk-1 conf.d]# htpasswd -b /apps/nginx/conf/htpasswd.users ma 123456 Adding password for user ma
3、启动nginx服务
# /apps/nginx/sbin/nginx
3、在网页上访问kibana域名
1、此时访问的域名就需要输入密码