2022年07月30日
导读
通过Nginx或者Apache相关代码可以有效防止服务器资源(如图片)被盗链,减少服务器资源的流量浪费,让服务器运行更高效快速。
如果发现服务器资源被别人盗链,导致服务器运行速度下降,可以通过Nginx或者Apache相关设置可以有效防止服务器资源(如图片)被盗链,减少服务器资源的流量浪费,让服务器运行更高效快速。下面详细解析Nginx和Apache相关代码的设置。
Nginx - 返回403错误
server {
server_name www.domain.com;
root /srv/domain.com-2023/_site;
location ~* \.(禁止盗链文件后缀1|禁止盗链文件后缀2|禁止盗链文件后缀3)$ {
expires 30d;
valid_referers 允许访问域名1 允许访问域名2 允许访问域名3;
if ($invalid_referer) {
return 403;
}
}
}
Nginx - 跳转外域图片
server {
server_name www.domain.com;
root /srv/domain.com-2023/_site;
location ~* \.(禁止盗链文件后缀1|禁止盗链文件后缀2|禁止盗链文件后缀3)$ {
expires 30d;
valid_referers 允许访问域名1 允许访问域名2 允许访问域名3;
if ($invalid_referer) {
rewrite ^/ 跳转图片链接;
}
}
}
Apache - 跳转外域图片
编辑.htaccess文件,并添加以下代码
RewriteEngine on
RewriteCond %{HTTP_REFERER} !允许访问域名1 [NC]
RewriteCond %{HTTP_REFERER} !允许访问域名2 [NC]
RewriteCond %{HTTP_REFERER} !允许访问域名3 [NC]
RewriteRule .*\.(禁止盗链文件后缀1|禁止盗链文件后缀2|禁止盗链文件后缀3)$ 跳转图片链接 [R,NC,L]
详细说明:
1. 禁止盗链文件后缀就是不想给别人盗链的文件后缀,如jpg、png、gif、webp、css、js等,每个文件后缀“|”符号隔开。
2. 允许访问域名就是允许访问这些服务器资源的域名,不需要带上http或https协议,简单来说就是不受盗链限制的白名单域名,这个域名允许使用通配符,如服务器都允许Google访问,可以设置为*.google.com,
Nginx:每个白名单域名用空格隔开
Apache: 每个白名单域名用一行RewriteCond,有几个白名单域名就有几行RewriteCond
3. 跳转图片链接就是当出现有盗链服务器资源的时候,自动跳转到指定图片链接,需要带上http或https协议,如https://www.baidu.com/img/baidu_jgylogo3.gif
关键词:服务器配置
作者:Zack Wong
服务器资源防盗链
2022年07月30日
通过Nginx或者Apache相关代码可以有效防止服务器资源(如图片)被盗链,减少服务器资源的流量浪费,让服务器运行更高效快速。
当前内容
2020年11月18日
基于Ubuntu 24.04LTS系统的Linode VPS设置,详细列出系统更新及zip、nginx、go、mysql、jekyll等相关软件安装及使用命令。
2020年05月20日
基于Ubuntu 24.04LTS安装Jekyll的过程,详细列出gcc编译包、Ruby、RubyGems以及Jekyll插件等相关软件安装及更新命令。
2019年05月28日
基于Ubuntu 24.04LTS系统介绍apt-get方式安装及升级Nginx的方法,列出所有安装及升级命令及配有文字说明,令用户能简单的掌握。
2018年10月28日
基于Ubuntu 24.04LTS系统,详细介绍Nginx安装SSL证书实现https的各项操作步骤,以及列出所有的Nginx配置命令。
2012年04月18日
在SEO角度上分析Addon Domain和Parked Domain在功能上和本质上的区别,Addon Domain绑定域名会更有利于网站SEO。