Kibana通过nginx验证登陆

前段时间公司用需要用到elk日志采集,而kibana本身是由node.js写成,本身没有登陆限制。这使一些日志的数据就不是那么安全,所以这里我们通过nginx的验证登陆到kibana。这样作有几个好处:

第一:为kibana加上了用户登陆访问

第二:不暴露服务器上5601端口,只开放80端口即可。这对服务器的安全也是一个很大的保护。

接下来我们就开始配置nginx与kibana。其中nginx的安装这里不作详述,大家可以去看笔者另一篇文章:centos下安装nginx

一、配置nginx

首先打开nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

在server中的localhost /{}中配置

server {
  listen       80;
  server_name localhost;
  location / {
     auth_basic "secret";
     auth_basic_user_file /usr/local/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";
  
要在内网中转发Kibana,您需要使用NGINX作为反向代理服务器。反向代理服务器会接收到来自客户端的所有请求,将它们重定向到相应的服务器,并将响应返回到客户端。这种方法不仅可以保护Kibana服务器,还可以提高性能。 首先,您需要安装NGINX并配置它。您需要创建一个新的server块,并在该块中定义反向代理。以下是一个示例配置: ``` server { listen 80; server_name example.com; location / { proxy_pass http://kibana.example.com:5601/; 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 Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } ``` 在上面的配置中,我们定义了一个server块,该块监听端口号为80,并指定了服务器名称为example.com。在location块中,我们将所有请求都转发到Kibana服务器,该服务器位于kibana.example.com域名下的端口号为5601的位置。 接下来,我们使用proxy_set_header指令设置一些HTTP请求头。这些头信息是为了确保Kibana可以正确处理来自代理服务器的请求。其中,Host头字段用于指定Kibana的实际地址;X-Real-IP字段用于指定连接的客户端IP地址,等等。 最后,我们还通过Upgrade和Connection头字段启用了WebSocket协议。Kibana使用WebSocket协议进行实时更新,因此我们需要配置NGINX以支持该协议。 配置完成后,请重新启动NGINX服务器并验证配置是否正确。您可以在浏览器中输入example.com,即可访问Kibana应用程序。如果一切顺利,您现已可以成功地将Kibana通过NGINX转发到内网中的网络。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值