温馨提示×

Ubuntu下如何配置Apache2防盗链

小樊
47
2025-07-08 02:37:00
栏目: 智能运维

在Ubuntu下配置Apache2防盗链,可以通过修改Apache的配置文件来实现。以下是详细的步骤:

1. 安装Apache2(如果尚未安装)

首先,确保你的系统上已经安装了Apache2。如果没有安装,可以使用以下命令进行安装:

sudo apt update sudo apt install apache2 

2. 创建或编辑.htaccess文件

防盗链通常通过.htaccess文件来实现。你可以在需要保护的目录下创建或编辑这个文件。

方法一:在特定目录下创建.htaccess文件

假设你想保护/var/www/html/images目录下的图片,可以按照以下步骤操作:

  1. 进入目标目录:

    cd /var/www/html/images 
  2. 创建或编辑.htaccess文件:

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

    <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L] </IfModule> 

    解释:

    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP请求头中的Referer字段,如果不是来自你的域名,则拒绝访问。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:匹配图片文件(如.jpg, .jpeg, .png, .gif),并返回403 Forbidden状态码。

方法二:全局配置.htaccess

如果你想在整个网站范围内应用防盗链规则,可以在/etc/apache2/apache2.conf/etc/apache2/sites-available/000-default.conf文件中进行配置。

  1. 编辑Apache的主配置文件或默认站点配置文件:

    sudo nano /etc/apache2/apache2.conf 

    或者

    sudo nano /etc/apache2/sites-available/000-default.conf 
  2. <Directory>标签内添加以下内容:

    <Directory /var/www/html> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L] </IfModule> </Directory> 
  3. 保存并退出编辑器。

3. 重启Apache服务器

为了使配置生效,需要重启Apache服务器:

sudo systemctl restart apache2 

4. 测试防盗链配置

现在,尝试从其他域名访问受保护的图片资源,应该会收到403 Forbidden错误。而从你的域名访问则应该正常显示图片。

通过以上步骤,你就可以在Ubuntu下成功配置Apache2的防盗链功能了。

0