nginx开启目录索引搭建文件服务器

目录索引

ngx_http_autoindex_module 模块可以支持目录列表浏览,开启方式

location / {
    autoindex on;
}

开启后就可以通过浏览器访问目录下的文件列表并且可以下载,像很多镜像资源站一样。可以文件浏览下载。这时候如果对某个目录不是所有用户可以访问下载,则可以使用ngx_http_auth_basic_module 模块开启限制资源访问。需要输入用户名密码认证获取范围权限。

用户认证

开启配置

location / {
    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
}

auth_basic_user_file文件指定认证的用户密码。用户密码可以依赖 “htpasswd” 命令生成。

安装http tools

yum -y install httpd-tools

htpasswd命令生成认证文件

# htpasswd -bc 文件名 用户名 密码 
#-c 创建文件 -b 命令行指定密码,不用确认框
htpasswd -bc htpasswd test 123456

生成的密码文件内容

test:$apr1$nk.CIrS7$eHHqORaeDBTVltMKsD6u/.

最终的nginx配置

location /authfile/ {
  #指定文件目录
  alias /data/html/authfile/;
  #开启目录索引
  autoindex on;
  #使用服务器时间
  autoindex_localtime on;
  #是否精确显示文件大小
  autoindex_exact_size off;
  #开启auth_basic 参数随便指定一个名称,默认是off不开启
  auth_basic "authfile";
  #用户认证文件
  auth_basic_user_file /etc/nginx/htpasswd;
}

这时访问 /authfile/ 浏览器就会弹出用户名和密码输入框,输入正确后才会展示目录索引列表内容。

下载限速

对于稍微大一点的文件,为了避免一个用户下载导致占用带宽过大,影像其它用户操作,可以配置文件下载时限制下载速度。设置方法如下:

location /download/ {
	root D:/tmp/;
	limit_rate 50k; #每秒下载速度
	limit_rate_after 2m;#超过2m后开始限速
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nginx搭建HTTP文件服务器,请按照以下步骤操作: 1. 首先,确保您已经安装了Nginx。如果没有,请先安装。 2. 创建一个文件夹用于存储您要共享的文件。例如,您可以在/var/www目录中创建一个名为“share”的文件夹: ``` sudo mkdir /var/www/share ``` 3. 将要共享的文件复制或移动到该文件夹中。 4. 配置Nginx以充当文件服务器。打开/etc/nginx/sites-available/default文件,并将其编辑为以下内容: ``` server { listen 80 default_server; listen [::]:80 default_server; # 设置文件服务器的根目录 root /var/www/share; # 启用自动索引,以便用户可以浏览文件夹 autoindex on; autoindex_exact_size off; charset utf-8; # 配置默认主页,例如index.html index index.html; # 设置允许访问的IP地址或IP地址段 allow 192.168.0.0/16; allow 10.0.0.0/8; deny all; # 设置访问日志文件位置 access_log /var/log/nginx/access.log; # 设置错误日志文件位置 error_log /var/log/nginx/error.log; # 设置HTTP头 add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Frame-Options SAMEORIGIN; } ``` 注意,您需要将“allow”行替换为允许访问文件服务器的IP地址或IP地址段。 5. 保存并关闭文件,然后重新启动Nginx服务: ``` sudo service nginx restart ``` 现在,您应该能够通过浏览器访问您的文件服务器,例如:http://<服务器IP地址>。您应该能够看到您要共享的文件列表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值