zoukankan      html  css  js  c++  java
  • 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; 
              }
          }
      }
      

        

    一切代码都是为了生活,一切生活都是调剂
  • 相关阅读:
    Flask-SQLAlchemy
    with 与 上下文管理器
    使用@property
    C++:如何把一个int转成4个字节?
    尝试理解Flask源码 之 搞懂WSGI协议
    qt setData()和data()
    我使用过的Linux命令之sftp
    linux下如何使用sftp命令
    Linux环境下安装JDK
    CentOS 6.5 配置IP地址的三种方法
  • 原文地址:https://www.cnblogs.com/argor/p/10744178.html
Copyright © 2011-2022 走看看