ubuntu

Apache2防盗链设置方法

小樊
51
2025-10-10 13:23:25
栏目: 编程语言

Apache2防盗链设置方法

防盗链是通过限制HTTP Referer头部,防止其他网站未经授权使用你服务器上的静态资源(如图片、CSS、JS等)的常见手段。Apache2提供了多种实现方式,以下是具体步骤:

一、前置准备:启用必要模块

无论选择哪种方法,均需确保mod_rewrite(重写引擎)模块已启用(多数方法依赖此模块)。若未启用,执行以下命令:

sudo a2enmod rewrite  # 启用mod_rewrite
sudo systemctl restart apache2  # 重启Apache使模块生效

二、方法一:使用mod_rewrite模块(推荐,灵活且常用)

1. 配置.htaccess文件(适用于共享主机或无主配置文件权限的场景)

2. 配置虚拟主机文件(适用于VPS/有主配置文件权限的场景)

三、方法二:使用mod_headers模块(设置Referrer Policy,增强安全性)

mod_headers模块可通过设置Referrer-Policy头部,控制浏览器发送Referer的行为,间接减少资源被盗链的风险。

1. 启用mod_headers模块

sudo a2enmod headers
sudo systemctl restart apache2

2. 配置Referrer Policy

Referrer-Policy需配合mod_rewrite使用(如方法一),才能完全阻止非法Referer访问资源。

四、方法三:使用mod_authz_core模块(基于环境的访问控制,适合精细化管理)

此方法通过设置环境变量,允许特定Referer访问资源,适合需要更灵活控制的场景。

1. 启用mod_authz_core模块

sudo a2enmod authz_core
sudo systemctl restart apache2

2. 配置虚拟主机文件

:若不需要认证,可删除AuthTypeAuthNameAuthUserFileRequire valid-user行。

五、测试防盗链效果

  1. 从你的网站(如yourdomain.com)访问图片资源,应能正常显示;
  2. 从其他网站(如baidu.com)通过<img src="yourdomain.com/image.jpg">引用你的图片,应返回403 Forbidden错误。

六、注意事项

0
看了该问题的人还看了