搭建Nginx作为下载服务器 并验证登录

我想把磁盘的文件开放下载,而且需要登录后才可以下载,这个时候直接使用nginx颇为合适。所以马上搭建Nginx作为下载服务器,并配置用户名密码

1.安装ngnix

参考:linux系统安装ngnix

 

2.直接作为下载服务器

location /download/ {
	alias /pack/;  #文件路径
    #autoindex on; #开启索引功能
}

3.配置下载文件并验证登录

server {
    listen    9000;    #端口
    server_name download_server;  #服务名
    charset utf-8; # 避免中文乱码
    root  E:\Download\java; #显示的根索引目录,注意这里要改成你自己的,目录要存在
    location / {
        auth_basic    "Login";//开启登录验证
        auth_basic_user_file /opt/passwd;    //用户配置文件
        autoindex on;       #开启索引功能
        autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
        autoindex_localtime on;  # 显示本机时间而非 GMT 时间
    }
}


passwd文件内容格式如下:

# comment
name1:password1
name2:password2:comment
name3:password3

 

密码应该使用crypt()函数加密。可以用Apache HTTP Server发行包中的htpasswd命令或者openssl passwd来创建此类文件。

 

需要注意auth_basic_user_file所对应的路径配置为反斜杠,如果使用斜杠,启动nginx时会报错。

修改后重启nginx,再在浏览器中访问时,就需要进行登录验证

 

登录后即可回复 登录 | 注册
    
关注编程学问公众号