如何设置Ubuntu Apache2防盗链策略,有效防止网站资源被盗用?
- 内容介绍
- 文章标签
- 相关推荐
在互联网上,网站资源被盗用的情况屡见不鲜。你的高清图片、视频、下载文件一旦被别人直接链接。就会出现这些让人头疼的痛点:服务器带宽被白嫖,流量费用暴涨;访客直接跳过你的网站访问资源,SEO排名和广告收入大幅下滑;品牌形象受损,甚至资源被用于违规内容让你背锅。今天就教你如何在 Ubuntu Apache2 上设置防盗链策略,有效防止网站资源被盗用。
为什么必须做
防盗链策略就是通过检查请求的 HTTP_REFERER 头。只允许来自你指定域名或空来源的请求访问受保护资源,如图片、视频、CSS/JS 等。简单说就是不让别人通过外链直接访问你的资源,除非他们是从你指定的域名来的。
设置防盗链的好处多多:
有效节省带宽成本,防止恶意刷流量;保护原创内容版权,提高网站安全性;避免他人借用你的资源导流,保证流量和收益都在自己手里。
Apache 防盗链主要准备工作
1. 确保 Apache 已安装并启用重写模块
先确认 Ubuntu 程序中已安装 Apache2,如果没有安装,可执行:
sudo apt update
sudo apt install apache2
启用 mod_rewrite 模块。这是防盗链的基础:
sudo a2enmod rewrite
sudo systemctl restart apache2
2. 允许使用 .htaccess 重写规则
.htaccess 方式需要站点配置允许覆盖。说起来,你可以在 /etc/apache2/apache2.conf 或 /etc/apache2/sites-available/your-site.conf 中检查:
AllowOverride All
User Pain Point: 很多站长配置完规则却不生效。 就是因为 AllowOverride 被设为 None,导致 .htaccess 被忽略,白忙活一场。
3. 确定配置位置。选择全局或目录级方案
- 目录级灵活:适合单个站点或特定文件夹如 /images /video 使用 .htaccess
- 全局更稳妥:在 /etc/apache2/conf-available/anti-hotlinking.conf 中统一管理,避免每个目录重复配置。
方法一这方面,使用 .htaccess 实现快速防盗链
In Ubuntu 下 Apache 推荐通过 .htaccess 文件实现防盗链功能。
A. 创建或编辑 .htaccess 文件
/var/www/html/,找到或创建一个名为 .htaccess 的文件。
sudo nano /var/www/html/.htaccess
B 添加基础 防 偷 连 则
RewriteEngine On
# 允 许 的 主 机 名 清 单,可 根 据 需 要 加 多 个 主 机 名
RewriteCond %{HTTPREFERER}!^$
RewriteCond %{HTTPREFERER}!^https,://?example.com
# 只 对 图 片 、视 频 等资 源 进 行 防 防 防 防 防
RewriteRule .$ -
这段代码的意思是:如果 Referer 为空 或 来自 example.com。则正常访问,否则返回403 Forbidden。按理说,你可以根据需要添加多个域名。例如 yourdomain.com | anordomain.com。如果使用 HTTPS,确保规则同时匹配 http 与 https。避免开启 HTTPS 后规则失效。
C 验证是否生效
保存后重新启动:
sudo systemctl restart apache `apache`
你可以环境验证。并保留允许空 Referer 的条件,否则搜索收录和分享预览会失效。说起来,
apache
apache
apache
在互联网上,网站资源被盗用的情况屡见不鲜。你的高清图片、视频、下载文件一旦被别人直接链接。就会出现这些让人头疼的痛点:服务器带宽被白嫖,流量费用暴涨;访客直接跳过你的网站访问资源,SEO排名和广告收入大幅下滑;品牌形象受损,甚至资源被用于违规内容让你背锅。今天就教你如何在 Ubuntu Apache2 上设置防盗链策略,有效防止网站资源被盗用。
为什么必须做
防盗链策略就是通过检查请求的 HTTP_REFERER 头。只允许来自你指定域名或空来源的请求访问受保护资源,如图片、视频、CSS/JS 等。简单说就是不让别人通过外链直接访问你的资源,除非他们是从你指定的域名来的。
设置防盗链的好处多多:
有效节省带宽成本,防止恶意刷流量;保护原创内容版权,提高网站安全性;避免他人借用你的资源导流,保证流量和收益都在自己手里。
Apache 防盗链主要准备工作
1. 确保 Apache 已安装并启用重写模块
先确认 Ubuntu 程序中已安装 Apache2,如果没有安装,可执行:
sudo apt update
sudo apt install apache2
启用 mod_rewrite 模块。这是防盗链的基础:
sudo a2enmod rewrite
sudo systemctl restart apache2
2. 允许使用 .htaccess 重写规则
.htaccess 方式需要站点配置允许覆盖。说起来,你可以在 /etc/apache2/apache2.conf 或 /etc/apache2/sites-available/your-site.conf 中检查:
AllowOverride All
User Pain Point: 很多站长配置完规则却不生效。 就是因为 AllowOverride 被设为 None,导致 .htaccess 被忽略,白忙活一场。
3. 确定配置位置。选择全局或目录级方案
- 目录级灵活:适合单个站点或特定文件夹如 /images /video 使用 .htaccess
- 全局更稳妥:在 /etc/apache2/conf-available/anti-hotlinking.conf 中统一管理,避免每个目录重复配置。
方法一这方面,使用 .htaccess 实现快速防盗链
In Ubuntu 下 Apache 推荐通过 .htaccess 文件实现防盗链功能。
A. 创建或编辑 .htaccess 文件
/var/www/html/,找到或创建一个名为 .htaccess 的文件。
sudo nano /var/www/html/.htaccess
B 添加基础 防 偷 连 则
RewriteEngine On
# 允 许 的 主 机 名 清 单,可 根 据 需 要 加 多 个 主 机 名
RewriteCond %{HTTPREFERER}!^$
RewriteCond %{HTTPREFERER}!^https,://?example.com
# 只 对 图 片 、视 频 等资 源 进 行 防 防 防 防 防
RewriteRule .$ -
这段代码的意思是:如果 Referer 为空 或 来自 example.com。则正常访问,否则返回403 Forbidden。按理说,你可以根据需要添加多个域名。例如 yourdomain.com | anordomain.com。如果使用 HTTPS,确保规则同时匹配 http 与 https。避免开启 HTTPS 后规则失效。
C 验证是否生效
保存后重新启动:
sudo systemctl restart apache `apache`
你可以环境验证。并保留允许空 Referer 的条件,否则搜索收录和分享预览会失效。说起来,
apache
apache
apache

