请教各位大佬,服务器上有一个文件,我想让他只允许指定 ua 才能下载要怎么设置?
就是只有指定 ua 可以访问这个文件,使用其他客户端或者浏览器访问就报错
请求 URL: https://域名 /文件名.conf
文件存放在:/www/wwwroot/test 目录下
完整路径:/www/wwwroot/test/文件名.conf
具体效果
只有 ua 中包涵关键词,才能访问,否则报 404
我没用过 nginx ,所以不会搞,麻烦大佬帮帮忙
1
auun OP 补充:我在搜索引擎上找了好久都没找到解决方案
|
2
wdssmq 2022-10-27 08:43:33 +08:00
Nginx 限制 ua - 搜索
https://cn.bing.com/search?q=Nginx+%E9%99%90%E5%88%B6+ua ↓ 至少在我这里第一条结果就是下边这篇,,(竟然不是 csdn ,不容易) nginx 禁止特定 UA 访问 - hjqjk - 博客园 https://www.cnblogs.com/hjqjk/p/6028775.html 在程序逻辑上,「禁止」和「仅允许」就是个符号的区别,事实上,,该文也有说怎么设置白名单,, --- 补充: 观察一阵子后,发现还有禁止 UA 为空的访问和放行内网 ip 不做禁止的需求。 nginx 的配置中不支持 if 条件的逻辑与、逻辑或运算 ,并且不支持 if 的嵌套语法,但我们可以使用变量达到想要的效果。 # 白名单:192.168.1 # 禁止特定 UA 和 UA 为空的访问 set $flag 0; if ($remote_addr !~ "^(192.168.1)"){ set $flag "${flag}1"; } if ($http_user_agent ~ "Lua|^$"){ set $flag "${flag}2"; } if ($flag = "012"){ return 403; } ----- 「知识」领域内,很多东西真的能用搜索引擎找到并且是免费的,,如果你是不懂怎么将「知识」化为己用,这边建议付费。。 QQ 及验证:UVHvvJozNDk0Njc2MjQg6aqM6K+B562U5qGI77yaMTg5NTc0Njgz 下边是我研究过的类似需求 「笔记」.htaccess 及 nginx.conf 可用变量一览_电脑网络_沉冰浮水 https://www.wdssmq.com/post/20220301043.html |