服务器资源防盗链

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相关代码可以有效防止服务器资源(如图片)被盗链,减少服务器资源的流量浪费,让服务器运行更高效快速。

当前内容

Ubuntu安装Mysql及基本操作

2021年01月17日

基于Ubuntu 20.10系统,详细介绍安装Mysql的过程及相关命令,并详细列出一些基本Mysql操作命令。

阅读全文

Ubuntu服务器配置(Linode)

2020年11月18日

基于Ubuntu 22.04LTS系统的Linode VPS设置,详细列出系统更新及zip、nginx、go、mysql、jekyll等相关软件安装及使用命令。

阅读全文

Ubuntu安装及更新Jekyll教程

2020年05月20日

基于Ubuntu 22.04LTS安装Jekyll的过程,详细列出gcc编译包、Ruby、RubyGems以及Jekyll插件等相关软件安装及更新命令。

阅读全文

obj格式转glb格式

2020年05月20日

将obj格式转换成glb格式可以借助开源工具obj2gltf,本教程以Ubuntu 22.04LTS为例,详细介绍整个转换过程。

阅读全文

Ubuntu安装Go

2019年09月18日

基于Ubuntu 22.04LTS系统介绍apt-get方式安装及编译方式安装Go最新版的方法,详细解析编译安装的方法,令用户能简单的掌握。

阅读全文

Github私有仓库克隆到服务器

2019年08月15日

通过Git SSH Key生成,分别把对应密钥安装在服务器和Github,这样就可以实现Github私有仓库克隆到自己的服务器。

阅读全文

Ubuntu安装及升级Nginx

2019年05月28日

基于Ubuntu 22.04LTS系统介绍apt-get方式安装及升级Nginx的方法,列出所有安装及升级命令及配有文字说明,令用户能简单的掌握。

阅读全文

Nginx安装SSL证书实现https

2018年10月28日

基于Ubuntu 22.04LTS系统,详细介绍Nginx安装SSL证书实现https的各项操作步骤,以及列出所有的Nginx配置命令。

阅读全文

指定浏览器访问代码

2018年02月18日

在实际的云端程序或者SaaS软件开发中,为了提供安全性或者隐私性,一般用js来获取当前浏览器的相关信息,通过userAgent来限制浏览器访问。

阅读全文

Nginx加密网站目录

2017年06月12日

通过Nginx添加特定的代码,对特定的网站目录进行加密,从而使有账号密码的特定用户才能访问改网站目录,防止机密数据泄露,造成不必要的损失。

阅读全文

Bluehost域名绑定方法的区别

2012年04月18日

在SEO角度上分析Addon Domain和Parked Domain在功能上和本质上的区别,Addon Domain绑定域名会更有利于网站SEO。

阅读全文