nginx

背景: 集团要求kibana必须要有密码验证,但是kibana本身并没有验证功能,实现需要用xpack,然而xpack不是免费的。查阅资料后发现,nginx可以做网站的登录验证功能。


nginx相关知识:对于nginx,我了解最多的是反向代理正向代理

  • 反向代理就是nginx作为服务器的代理,隐藏了服务器的信息。
  • 正向代理就是nginx作为客户端的代理,隐藏了客户端的信息。

nginx是一个静态web服务器,tomcat是动态web服务器,两者配合可以部署动静分离的网站。此外,nginx的一个重要用途是网站服务器的负载均衡,负载均衡主要会用到upstream指令。
nginx配置文件结构:

...              #全局块

events {         #events块
   ...
}

http      #http块
{
    ...   #http全局块
    server        #server块
    { 
        ...       #server全局块
        location [PATTERN]   #location块
        {
            ...
        }
        location [PATTERN] 
        {
            ...
        }
    }
    server
    {
      ...
    }
    ...     #http全局块
}

nginx配置文件较详细解释

  • server块作用于虚拟服务器。
  • location块指定访问路由,这个访问路由指的是在一个server域内的路由。

在本次任务中,我用到了server块和location块,我使用docker安装nginx,这个nginx中有个默认的配置文件的http块中有个include指令,该指令可以导入其他配置文件进入该默认配置文件。所以我只需要写好server块里的内容,运行时会自动导入到默认配置文件的http块中。server块中的listen指令可以指定监听的端口,server_name指令指定服务的外部访问地址。
为了达到加密的效果,需要用到httpd工具生成密码。生成的密码放到指定文件夹,然后在location块里的auth_basicauth_basic_user_file指令指定提示文本和密码存放的文件。
此外,还可以用upstream块来重定向访问,比如浏览器访问服务器a但其实访问的是服务器b的资源。

通过nginx设置kibana密码访问的参考

你可能感兴趣的:(nginx)