ubuntu

如何在Ubuntu上配置Apache防盗劫持

小樊
32
2025-11-11 10:50:27
栏目: 智能运维

如何在Ubuntu上配置Apache防盗链(防盗劫持核心措施)

1. 启用必要模块

防盗链依赖Apache的mod_rewrite(重写引擎)和mod_headers(头部控制)模块,需先启用:

sudo a2enmod rewrite headers
sudo systemctl restart apache2

2. 配置防盗链规则

方法一:通过.htaccess文件(推荐,灵活针对特定目录)

进入需要保护的目录(如/var/www/html/images),创建或编辑.htaccess文件:

sudo nano /var/www/html/images/.htaccess

添加以下内容(替换yourdomain.com为你的实际域名,可根据需求扩展文件类型):

RewriteEngine On
# 允许空Referer(用户直接输入URL访问)或来自自身域名的请求
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
# 可选:允许信任的第三方域名(如CDN或合作伙伴)
# RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?trusted-domain\.com [NC]
# 禁止其他来源访问图片/视频资源,返回403 Forbidden
RewriteRule \.(jpg|jpeg|png|gif|svg|mp4|avi|mov)$ - [F,L]

保存并退出。

方法二:通过Apache虚拟主机配置(全局生效,优先级更高)

编辑虚拟主机配置文件(如/etc/apache2/sites-available/your-site.conf),在<VirtualHost *:80>块内添加:

<Directory "/var/www/html/images">
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
    RewriteRule \.(jpg|jpeg|png|gif|svg|mp4|avi|mov)$ - [F,L]
</Directory>

保存后启用配置并重启Apache:

sudo a2ensite your-site.conf
sudo systemctl restart apache2

3. 测试防盗链效果

4. 可选增强措施

注意事项

0
看了该问题的人还看了