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

背景#

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

  1. centos
  2. nginx

你可以了解到以下内容:

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

1/2 列出目录列表#

 

Copy

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

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

 

Copy

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

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

a. 安装httpd-tools

 

Copy

yum -y install httpd-tools

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

 

Copy

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

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

c. 配置nginx

 

Copy

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


示例#

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

 

Copy

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; }

 

https://www.cnblogs.com/fenqi/p/10879849.html

 

 

说明:Nginx在默认安装好之后,是禁止目录浏览的,如下图所示

 

nginx配置目录访问&用户名密码控制_第1张图片

 

如果要开启目录浏览功能,请看下面操作:

1、开启全站所有目录浏览功能

vi  /usr/local/nginx/conf/nginx.conf   #编辑配置文件,在http {下面添加以下内容:

autoindex on;   #开启nginx目录浏览功能

autoindex_exact_size off;   #文件大小从KB开始显示

autoindex_localtime on;   #显示文件修改时间为服务器本地时间

:wq!  #保存,退出

nginx配置目录访问&用户名密码控制_第2张图片

service nginx reload   #重新加载nginx配置

打开

nginx配置目录访问&用户名密码控制_第3张图片

可以看到,nginx的目录浏览功能已经打开!

2、只打开网站部分目录浏览功能

只打开

http://www.osyunwei.com/soft 目录浏览

vi  /usr/local/nginx/conf/nginx.conf   #编辑配置文件,在server {下面添加以下内容:

location   /soft {

autoindex on;

autoindex_exact_size off;

autoindex_localtime on;
                             }

:wq!  #保存,退出

nginx配置目录访问&用户名密码控制_第4张图片

service nginx reload   #重新加载nginx配置

打开http://www.osyunwei.com/soft 可以浏览目录

打开http://www.osyunwei.com/html 出现403错误,禁止目录访问

目的实现

nginx配置目录访问&用户名密码控制_第5张图片

至此,Nginx开启目录浏览功能教程完成!

 

你可能感兴趣的:(LINUX)