温馨提示×

Apache2如何配置防盗链在Ubuntu

小樊
44
2025-02-24 08:47:07
栏目: 智能运维
Ubuntu服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

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

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

sudo apt update
sudo apt install apache2

2. 创建防盗链配置文件

你可以创建一个新的配置文件来专门处理防盗链设置,或者直接在现有的虚拟主机配置文件中进行修改。

方法一:创建新的配置文件

  1. 创建一个新的配置文件:

    sudo nano /etc/apache2/conf-available/anti-hotlinking.conf
    
  2. 在文件中添加以下内容:

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

    解释:

    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^$:检查HTTP_REFERER是否为空。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP_REFERER是否不是你的域名(忽略大小写)。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果条件匹配,返回403 Forbidden状态码,并停止进一步处理。
  3. 保存并关闭文件。

方法二:修改现有的虚拟主机配置文件

  1. 打开你的虚拟主机配置文件,例如:

    sudo nano /etc/apache2/sites-available/yourdomain.com.conf
    
  2. <VirtualHost>块内添加以下内容:

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

    解释与方法一相同。

  3. 保存并关闭文件。

3. 启用配置

根据你选择的方法,执行以下命令之一来启用新的配置:

方法一:使用a2enconf

sudo a2enconf anti-hotlinking

方法二:直接重启Apache

sudo systemctl restart apache2

4. 测试配置

确保你的防盗链配置已经生效。你可以尝试从不同的域名访问你的图片资源,看看是否返回403 Forbidden状态码。

注意事项

  • 确保你的Apache服务器启用了mod_rewrite模块。如果没有启用,可以使用以下命令启用:
    sudo a2enmod rewrite
    sudo systemctl restart apache2
    
  • 防盗链配置可能会影响正常用户的访问,因此请确保你的配置不会误伤合法用户。

通过以上步骤,你应该能够在Ubuntu上成功配置Apache2的防盗链功能。

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

推荐阅读:Ubuntu Apache2如何配置防盗链

0