Nginx设置目录保护、防盗链、限速、多域名的方法
来源:互联网
时间:2026-02-26 16:34:15
作者:
系统大全为您提供
Nginx是个非常优秀的https://www.herecours.com/d/file/efpub/2026/26-26/20260226161933569502 一、NGINX目录保护及访问限制
Nginx保护目录的配置如下,目录密码保护文件是 /usr/localinxpasswd
location ~ /admin {#admin为要保护的目录名称,location 的意思就是保护从网页根目录算起的admin 目录auth_basic ”PLEASE LOGIN”; #就是进入资料夹时会显示的信息auth_basic_user_file /usr/localinxpasswd; #验证用户及密码文件,我这边设定是放在 /usr/localinxpasswd}location ~ .php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME ar/wwws$fastcgi_script_name;include fastcgi_params;}
注意,设置目录密码保护时,请注意配置区块的位置,如果放在location ~ .php$ {}区块后面,如果打开的是静态页面或图片等非php文件,会提示要输入密码,但是,如果打开的是php文件,则设置无效,会直接执行php文件并显示。因此,一定要注意把要设置目录密码保护的区块放在location ~ .php$ {}区块之前。
生成密码文件:
htpasswd -b -c /usr/loclainxpasswd username password;
二、NGINX防盗链
另外 NGiNX 防盗链,防止别人偷图(视频、flash、软件…)当然也是 OK 滴! 一样也是在 server 的区段加上
location ~* .(txt|ico|gif|png|bmp|jpg|jpeg|zip|rar|gz|7z|exe|mp3|flv|swf)$ {
valid_referers none blocked opsers.org www.opsers.org ;
if ($invalid_referer) {
rewrite ^/
}
}
这时候 location 的意思就是保护从网页根目录算起,所有的指定类型的文件都依照此规则
valid_referers none blocked 的意思就是不阻挡从哪些地方来的囉~ 这边以空格来分隔允许的域名或 ip 位置
$invalid_referer 的意思就是不允许连结
rewrite ^/ 的意思就是指定不允许的连结自动转向到一个页面,或是已经有设定 404 转址的也可以先注解掉这行再把 #return 404 的注解拿掉,就会自动跑到你设定的 404 页面了。
如何来看防盗链是否是生效的,建议大家直接看服务日志,不要拿个网站来测试。因为有些不要脸的家伙(比如百度),他会用自己的图片服务器来提供服务。就是因为这个原因,上一次我在做这个的时候,浪费了很多时间。
三、NGINX下载限速
NGiNX 还能限速再限制下载线程! 先在 https://www.herecours.com/d/file/efpub/2026/26-26/20260226161933569503 # 设定一个叫做 crawler 的区域,大小为 20MB
limit_zone crawler $binary_remote_addr 20m;
然后在 server 的区段加上
# 限制档案类型只能单线下载
location ~ .*.(zip|rar|gz|tar|exe|mp3|flv|swf|jpg|jpeg)${
limit_conn crawler 1;
limit_rate 500k; # 再加上限速
}
# 限制特定资料夹底下只能单线下载
# location /download/ {
# limit_conn crawler 1;
# limit_rate 500k; # 再加上限速
# }
四、NGINX多域名设置
今天在配置PHP+Nginx时出现一个严重的问题,在Nginx虚拟主机上绑定了泛域名,在程序中需要用二级域名指向不同的内容,但无论如何访问都只跳转到主域名上!为了找到问题,一个一个试验,得出如下结论:不管绑定多少域名,用 $_SERVER["SERVER_NAME"] 只会返回虚拟主机中绑定的第一个域名!
比如绑定域名如下:
server_name www.fxzc.com *.fxzc.com fxzc.com
现在我不管用什么域名访问, $_SERVER["SERVER_NAME"] 都只会返回 www.fxzc.com !!这是个很严重的问题,对泛域名造成了致命的影响!
既然有问题,就肯定有解决方案。。在wiki主翻了N久,终于找到了需要的资料!原来:$_SERVER["SERVER_NAME"] 返回的值是由 Nginx 的 fastcgi_param 中 SERVER_NAME 提供的,而默认的配置为:
fastcgi_param SERVER_NAME $server_name;
Nginx中 $server_name 变量就是上面设置的域名,只会返回第一个!
这下好办了,把上面的配置改成:
fastcgi_param SERVER_NAME $host;
就行了。
另外还需要在server_name配置后面加一行:
server_name_in_redirect off; 意思是 让 nginx 在处理自己内部重定向时不默认使用 server_name 设置中的第一个域名!
以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。
本文来自系统大全https://www.herecours.com/d/file/efpub/2026/26-26/20260226161933569504
编辑推荐:
- Nginx设置目录保护、防盗链、限速、多域名的方法02-26
- Linux下自动备份文件到远程FTP服务器并删除指定日02-26
- linux学习之进程,线程和程序02-26
- linux中exit()和_exit区别02-26
- Linux系统之间拷贝文件的技巧总结02-26
- linux命令行学习-dig(DNS查询器)02-26
- 正在经历变革的Linux系统管理员技能02-26
- linux编译内核及添加系统调用(1)02-26
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- linux编译内核及添加系统调用(1)
linux编译内核及添加系统调用(1)
26-02-26 - 390W → 555W:网友极限改造未发布的英伟达 20GB RTX 3080 Ti 显卡
- 再有参与者退场:BUFFALO 巴法络计划于 2026 年 7 月停止销售蓝光播放器
- 博主反馈其华擎 X870 主板连毁两颗 AMD 9950X 处理器
博主反馈其华擎 X870 主板连毁两颗 AMD 9950X 处理器
26-02-26 - LG 推出“27G610A”27 英寸显示器:2K 200Hz,1199 元
- TrendForce:涨价效应带动 DRAM 内存产业 2025Q4 营收环比增长 29.4%
- 京东国际 × 亚马逊全球购:西部数据元素 12T 外置硬盘 1502 元 +24 期免息
- 达尔优推出 TMR 磁轴三模键盘 GT87,配备一体式锻碳手托
达尔优推出 TMR 磁轴三模键盘 GT87,配备一体式锻碳手托
26-02-26 - “拯救金鱼记忆”:微信员工谈微信新能力,可查看文件在多少个聊天中被使用
“拯救金鱼记忆”:微信员工谈微信新能力,可查看文件在多少个聊天中被使用
26-02-26 - linux下创建带密码的用户
linux下创建带密码的用户
26-02-26
