正文:
为了降低建站成本,许多站长选择使用较小的服务器,并额外添加 CDN 和云存储等功能来减轻服务器的负担。然而,这些功能大多需要付费。
如果将自己网站的图片链接地址让别人复制,那么自己的 CDN 流量将会迅速消耗,而且花费的金钱将无法得到好处。
宝塔面板如何设置图片防盗链:
1. 登录宝塔面板,进入网站设置页面,然后开启防盗链功能。
2. 接下来,在面板中找到网站的文件配置,查找以下代码:
#SECURITY-START 防盗链配置
location ~ .*\.(jpg|jpeg|gif|png|js|css)$
{
expires 30d;
access_log off;
valid_referers none blocked *.www.huizhanii.com huizhanii.com;
if ($invalid_referer){
return 404;
}
}
#SECURITY-END
下面来详细介绍上述代码的作用和意义:
首先,我们设置了防盗链文件类型,包括了图片(jpg、jpeg、gif、png)以及脚本和样式文件(js、css)。您可以根据需要自行修改这些文件类型,每个文件类型之间使用竖线符号(|)分隔。
接下来,我们设置了白名单,允许指定的域名来链接这些文件。在这里,我们设置了 none、blocked、*.waizhuti.com 和 waizhuti.com 作为白名单。您可以根据您自己的域名来修改这些设置。其中,*.wuyanshuo.com 表示允许所有子域名链接,多个域名之间使用空格分隔。
然后,我们使用 rewrite 指令来替换盗链网站的图片。这里我们将所有盗链的图片替换为一个名为 404.jpg 的图片,您需要将 XXX 替换为实际图片所在的域名。需要注意的是,这个图片应该放在没有设置防盗链的网站上,因为如果放在防盗链网站上,由于防盗链的限制,该图片将无法显示,而盗链者的网站上的图片将显示为一个 X 符号。
通过以上设置,我们实现了 nginx 的真正意义上的防盗链。然而,需要注意的是,这种方式并不能完全防止盗链。如果用户直接在浏览器中输入图片地址,仍然可以显示图片,并且可以通过右键另存为的方式下载文件。
我们来看第三行:valid_referers none blocked *.waizhuti.com waizhuti.com;
valid_referers 里多了“none blocked”
我们把“none blocked”删掉,改成
valid_referers *.waizhuti.com waizhuti.com;
nginx 彻底地实现真正意义上的防盗链完整的代码应该是这样的:
我们来看第三行:valid_referers none blocked *.huizhanii.com huizhanii.com;
valid_referers 里多了“none blocked”
我们将“none blocked”删除,并修改为
valid_referers *.waizhuti.com waizhuti.com;
nginx 完整的代码实现了真正意义上的防盗链。
代码如下:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
valid_referers *.huizhanii.com huizhanii.com;
if ($invalid_referer) {
rewrite ^/ http://www.XXX.com/images/404.jpg;
#return 404;
}
expires 30d;
}
结语:
如果有任何问题请在下方留言。
转载请注明:汇站网 » nginx 下配置网站防盗链教程