http 基本验证(nginx)

创建密码文件

  • Debian 使用 apache2-utils,RHEL 使用  httpd-tools。
  • 创建密码文件
    # c 选项创建文件
    htpasswd -c .userpass argor
    
    # 在文件中添加用户信息
    htpasswd .userpass root
    
    # 用户名不能包含冒号
    htpasswd .userpass admin
    
    # 查看文件
    cat .userpass 
    argor:$apr1$l9/AkRHF$81/T9hWYl.klAF7tifaU..
    root:$apr1$BkCyKtzB$MlldXcLYf0SULUdUOhX/k.
    admin:$apr1$LoblLPxJ$937GJQg13Y25P.3MGYDs.0
    

      

配置 nginx 基本验证

  • server {
        root /data;
        listen 80; 
    
        location / { 
        }   
    
        location /admin {
            auth_basic "Administrator's Area";
            auth_basic_user_file .userpass;
        }   
    
        location /public {
            auth_basic off;
        }   
    }  
    

      密码文件 .userpass 相对于配置根。

限制 IP Address

  • 限制 IP Address
    location /api {
        #使用指令定义限制:deny、allow
        deny  192.168.1.2;
        allow 192.168.1.1/24;
        allow 127.0.0.1;
        deny  all;
    }
    

      

  • 限制 IP,并且要求 http 验证
    location /api {
        #绑定限制需要该指令。
        satisfy all;    
    
        deny  192.168.1.2;
        allow 192.168.1.1/24;
        allow 127.0.0.1;
        deny  all;
    
        auth_basic           "Administrator’s Area";
        auth_basic_user_file .userpass;
    }
    

      

配置示例

  • http {
        server {
            listen 192.168.251.201:8080;
            root   /data/html;
    
            location /api {
                api;
                satisfy all;
    
                deny  192.168.1.2;
                allow 192.168.1.1/24;
                allow 127.0.0.1;
                deny  all;
    
                auth_basic           "Administrator’s Area";
                auth_basic_user_file .userpass; 
            }
        }
    }
    

      

一切代码都是为了生活,一切生活都是调剂
原文地址:https://www.cnblogs.com/argor/p/10744178.html