在nginx上配置kibana页面访问时,默认是采用kibana的认证,一般直接安装kibana后,是没有用户名和密码认证的。
如果要在负载均衡上配置反向代理和用户认证,可按以下步骤进行配置:
1.安装Nginx: 首先,确保已经安装了Nginx,并且可以正常访问Kibana页面。
2.生成密码文件: 使用 htpasswd
工具生成用户名和密码的文件。运行以下命令来创建密码文件,将用户名和密码替换为自己想要设置的用户名和密码。
sudo htpasswd -c /etc/nginx/.htpasswd 用户名
执行上面的命令之后回提示输入密码,输入密码就可完成密码文件的创建。
这将在 /etc/nginx/.htpasswd
文件中创建一个包含加密密码的条目。如果需要添加更多用户,请省略 -c
参数
3.配置Nginx
打开 Nginx 的配置文件,一般位于 /etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
。找到 Kibana 相关的 server 块。
添加以下配置来启用基本认证,并将 用户名
替换为你在第 2 步中创建的用户名,/etc/nginx/.htpasswd
是你的密码文件路径:
server {
listen 15601;
resolver 127.0.0.11 ipv6=off valid=1s;
location / {
set $upstream_endpoint http://elk:5601;
proxy_pass $upstream_endpoint;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
auth_basic "Administrator’s Area"; # 认证提示信息
auth_basic_user_file /etc/nginx/.htpasswd; # 密码文件路径
# satisfy all;
# deny 192.168.1.2;
# allow 192.168.1.1/24;
# deny all;
}
}
这将为 Kibana 页面添加基本认证,当用户访问时将提示输入用户名和密码。
4.重启Nginx
保存并关闭 Nginx 配置文件后,通过运行以下命令来重启 Nginx 服务:
sudo systemctl restart nginx
现在,当用户访问 Kibana 页面时,他们将被要求输入用户名和密码以进行身份验证。
如果想要实现无用户名和密码认证的访问,只需修改 Nginx 配置,删除 location /
中的 auth_basic
和 auth_basic_user_file
配置项。然后重新启动 Nginx 服务即可。
5.页面访问和登录kibana
效果如图所示: