前言
我们自己的服务器上面有一些比较好的文件,想要我们自己的团队里面的人可以进行访问,这时候,我想到了nginx可以实现这个功能,但是,我们还需要我们的访问控制,所以今天实现了一下我们的功能;
1. 配置nginx开启目录访问
1. 并配置nginx用户名和密码进行权限控制
正文
列出目录列表
autoindex on;# 开启目录文件列表
还可以加一些其它的功能,以下是我使用的附加配置:
autoindex_exact_size on;# 显示出文件的确切大小,单位是bytes
autoindex_localtime on;# 显示的文件时间为文件的服务器时间
charset utf-8,gbk;# 避免中文乱码
加上用户名和密码(需要安装软件)
a. 安装httpd-tools
yum -y install httpd-tools
Ubuntu有可能没有这个httpd-tools的安装,可以使用这个命令安装
sudo apt-get install apache2
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; }
至此,我们完成了我们的nginx访问目录权限的配置工作