• nginx配置目录访问&用户名密码控制


    背景

    项目上需要一些共享目录让外地同事可以网页访问对应的文件,且受权限控制;
    现有环境:

    1. centos
    2. nginx

    你可以了解到以下内容:

    • 配置nginx开启目录访问
    • 并配置nginx用户名和密码进行权限控制

    1/2 列出目录列表

    autoindex on; # 开启目录文件列表
    

    还可以加一些其它的功能,以下是我使用的附加配置:

    autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes
    autoindex_localtime on; # 显示的文件时间为文件的服务器时间
    charset utf-8,gbk; # 避免中文乱码
    

    2/2 加上用户名和密码(需要安装软件)

    a. 安装httpd-tools

    yum -y install httpd-tools
    

    b. 使用htpasswd生成指定用户名和密码的权限文件,示例如下,按照提示输入两次密码

    # 在/etct/nginx目录下,生成passwd110文件
    # 添加test110用户
    htpasswd -c /etc/nginx/passwd110 test110
    

    htpasswd还有其它参数,可以通过htpasswd -h来查看,例如可以指定一些密码加密方式

    c. 配置nginx

    auth_basic "input your password"; #这里是验证时的提示信息 
    auth_basic_user_file /etc/nginx/passwd110;
    

    示例

    完成配置示例(开启/var/www/logs 目录列表,并且需要用户名和密码访问)如下:

    location /logs {
    	root /var/www/;
    	autoindex on; # 开启目录文件列表
    	autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes
    	autoindex_localtime on; # 显示的文件时间为文件的服务器时间
    	charset utf-8,gbk; # 避免中文乱码
    	# add_header Content-Disposition attachment;
    	# 以下是配置用户名和密码访问
    	auth_basic "Please input password"; #这里是验证时的提示信息 
    	auth_basic_user_file /etc/nginx/passwd110;
    }
    
  • 相关阅读:
    Runloop详解
    iOS高效裁剪图片圆角算法
    Runtime详解(下)
    Runtime详解(上)
    iOS UITextfield只允许输入数字和字母,长度限制
    iOS多线程(上)——GCD详解(上)
    @property、@sythesize以及Ivar和@dynamic讲解(下)
    iOS 循环引用讲解(中)
    @property详解,@property修饰符以及各个修饰符区别(上)
    PHP 使用 OSS 批量上传图片
  • 原文地址:https://www.cnblogs.com/fenqi/p/10879849.html
Copyright © 2020-2023  润新知