Ubuntu Apache配置如何实现防盗链

909
2025/3/21 3:32:01
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上配置Apache服务器以实现防盗链,可以通过以下步骤来完成:

1. 安装Apache

如果你还没有安装Apache,可以使用以下命令进行安装:

sudo apt update
sudo apt install apache2

2. 配置防盗链

防盗链通常是通过检查HTTP请求头中的Referer字段来实现的。你可以使用Apache的mod_rewrite模块来实现这一功能。

启用mod_rewrite

首先,确保mod_rewrite模块已经启用:

sudo a2enmod rewrite

创建或编辑.htaccess文件

在你的网站根目录下创建或编辑.htaccess文件。例如,如果你的网站根目录是/var/www/html,则在该目录下创建或编辑.htaccess文件:

sudo nano /var/www/html/.htaccess

添加防盗链规则

.htaccess文件中添加以下内容:

RewriteEngine On

# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]

# 阻止访问
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]

解释:

  • RewriteEngine On:启用重写引擎。
  • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查Referer字段是否不是你的域名(不区分大小写)。
  • RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]:检查Referer字段是否不是你的域名(不区分大小写)。
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果Referer字段不符合条件,则返回403 Forbidden状态码,并停止进一步处理。

3. 重启Apache服务器

保存并关闭.htaccess文件后,重启Apache服务器以使更改生效:

sudo systemctl restart apache2

4. 测试防盗链

尝试从其他域名访问你的图片资源,应该会收到403 Forbidden响应。

注意事项

  • 确保你的.htaccess文件的语法正确,否则可能会导致服务器错误。
  • 如果你有多个域名或子域名,可以在RewriteCond中添加更多的条件。
  • 防盗链规则可能会影响正常用户的访问体验,因此请谨慎配置。

通过以上步骤,你可以在Ubuntu上配置Apache服务器以实现防盗链功能。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu反引号怎么提高性能