• nginx用户认证与htpasswd命令


    最近在搭建ELK,然后ELK的kibana界面想添加一个访问限制,看到kibana有个插件x-pack,本来想用用,发现是收费的,就放弃了,然后就想着想配置下nginx的认证访问来实现简单的访问登陆。

    nginx的用户认证:

      首先nginx是必须的,如果没有安装的nginx的安装下nginx.

      然后我们需要做的就是编辑配置文件。配置文件路径为

    /etc/nginx/conf.d/

    我们在该目录下创建一个以.conf后缀的文件,然后我们编辑文件的内容vim /etc/nginx/conf.d/nginx_passwd.conf

    server { 
       listen    80; //监听端口为80 
       server_name www.rsyslog.org; //映射到这台服务器的域名
       access_log /usr/local/nginx/logs/www1_status.log;
       location / { 
                proxy_pass http://192.168.40.66:5601 //kibana的默认访问路径 
                auth_basic "secret"; //虚拟主机认证命名  
                auth_basic_user_file /usr/local/httpd-tools/nginx_passwd.kibana; //虚拟主机用户名密码认证文件
          }
    }
    View Code

    然后我们需要使用工具httpd-tools生成用户和密码。

    首先我们需要安装我们的httpd-tools,

    yum install -y httpd-tools

    然后我们进入到我们之前设置密码文件的路径目录。

    mkdir /usr/local/httpd-tools/ && cd !$

    然后生成我们的密码文件

    htpasswd -c -b nginx_passwd.kibana(密码文件名)  test(用户名)  test(用户密码)

    然后我们重启我们的nginx让配置生效。(注意事项:就是在配置密码文件的时候注意一个权限问题,建议直接将密码文件的所有者改为nginx)。

    接下来补充以一下我们的htpasswd命令

    htpasswd命令:
    -c   创建加密文件;
    -n   不更新加密文件,只将加密的用户密码显示在屏幕上;
    -m  默认采用MD5算法进行加密;
    -d 采用 CRYPT 算法对密码进行加密 
    -p 不对密码进行加密 ,即明文密码;
    -s 采用 SHA算法对密码进行加密
    -b 在命令行中一并输入用户名和密码而不是根据提示输入密码。
    -D 删除指定的用户 
    
    创建密码文件并且添加用户,
    htpasswd -c  -b  文件名 用户名   密码
    添加用户不创建文件 
    htpasswd  -b   用户名   密码
    删除用户和密码 
    htpasswd -D  文件名   用户名
    修改密码 :
    就是删除用户然后创建用户
    htpasswd -D  文件名   用户名
    htpasswd  -b   用户名   密码

    以上就是我们的nginx用户认证配置和htpasswd的命令的一些基本讲解。

  • 相关阅读:
    k8s-学习笔记12-权限体系
    Linux上磁盘热插拔
    delphi hashmap
    my gcc project
    gcc dll 导出问题 GTK+Glade3 Gtk-WARNING **: Could not find signal handler 问题最终解析
    c/c++字符串定义及使用的对比
    gcc printf()打印char* str
    gcc选项-g与-rdynamic的异同
    GCC编译,库的编译使用及Makefile
    gcc test
  • 原文地址:https://www.cnblogs.com/operationhome/p/9095504.html
Copyright © 2020-2023  润新知