Nginx下实现授权访问下载

需求

  • 硬件板子实现自动请求服务器,下载更新包,实现在线升级,但是直接请求的话会人人都可以下载,会造成安全隐患
  • 文件服务器,实现浏览文件并下载

Nginx实现(基于centos7)

  • 安装工具(具体命令查看 htpasswd -h)

yum install -y httpd-tools

  • 生成账号和密码,将文件保存在nginx目录下

htpasswd -c /etc/nginx/conf.d/test test

  • 查看生成的文件(:前面是账号,后面是加密过后的密码)

cat test

  • 修改nginx配置文件
server {
    listen       80;
    server_name  bicycle.umdzz.cn;
    location  ^~ /File/  {
        root   /usr/share/nginx/html/easyswoole_bicycle/Static;
        auth_basic "Please Input Password..."; #提示信息
        auth_basic_user_file /etc/nginx/conf.d/test; #用户密码文件存放路径

        }
    location / {
        root   /usr/share/nginx/html/easyswoole_bicycle/Static/Admin/;
        index  index.html index.htm;
        proxy_http_version 1.1;
        proxy_set_header Connection "keep-alive";
        proxy_set_header X-Real-IP $remote_addr;
        if (!-f $request_filename) {
             proxy_pass http://127.0.0.1:9505;
        }
  }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ /\.ht {
        deny  all;
    }
}

  • 重启nginx服务器

systemctl restart nginx

  • 访问测试地址,登录后即可下载文件

延伸-文件服务器实现

server {
    listen       80;
    server_name  bicycle.umdzz.cn;
	#提示信息
    auth_basic "Please Input Password..."; 
	#用户密码文件存放路径
    auth_basic_user_file /etc/nginx/conf.d/test; 
    location / {
        root   /usr/share/nginx/html/easyswoole_bicycle/App;
        #列表
        autoindex on;
        #隐藏真实大小,以M或G显示
        autoindex_exact_size on;
        #显示时间
        autoindex_localtime on;
  }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    location ~ /\.ht {
        deny  all;
    }
}
  • 再次访问测试地址,查看效果

北溟有鱼QAQ博客
请先登录后发表评论
  • 最新评论
  • 总共2条评论
北溟有鱼QAQ博客

mobaijun:过来瞅瞅,大佬,抽空可以修改一下我的博客连接,最近更换了域名,修改为:https://www.mobaijun.com,名称改为框架师就好

2020-05-09 16:26:00 回复

北溟有鱼QAQ博客

@揪:过来蹭一蹭

2020-04-30 16:24:45 回复