ubuntu

Apache如何在Ubuntu上实现防盗链

小樊
34
2025-08-24 05:50:37
栏目: 智能运维

在Ubuntu上使用Apache服务器实现防盗链,可以通过配置Apache的.htaccess文件或直接编辑Apache的主配置文件来实现。以下是两种常见的方法:

方法一:使用 .htaccess 文件

  1. 创建或编辑 .htaccess 文件: 在你的网站根目录下创建一个名为 .htaccess 的文件(如果已经存在,则直接编辑它)。

  2. 添加防盗链规则: 在 .htaccess 文件中添加以下内容:

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

    解释:

    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查请求的来源(Referer),如果不是来自你的域名(yourdomain.com),则执行下一步。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:阻止对指定图片格式的访问,并返回403 Forbidden状态码。

    你可以根据需要调整允许的域名和图片格式。

方法二:编辑 Apache 主配置文件

  1. 打开 Apache 配置文件: 使用你喜欢的文本编辑器打开 Apache 的主配置文件。通常这个文件位于 /etc/apache2/apache2.conf/etc/apache2/sites-available/your-site.conf

    sudo nano /etc/apache2/apache2.conf
    

    或者

    sudo nano /etc/apache2/sites-available/your-site.conf
    
  2. 添加防盗链配置: 在 <Directory><Location> 块中添加以下内容:

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

    解释:

    • <Directory "/var/www/html">:指定要应用规则的目录。
    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查请求的来源(Referer),如果不是来自你的域名(yourdomain.com),则执行下一步。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:阻止对指定图片格式的访问,并返回403 Forbidden状态码。
  3. 重启 Apache 服务: 保存文件并退出编辑器后,重启 Apache 服务以使更改生效。

    sudo systemctl restart apache2
    

通过以上两种方法,你可以在Ubuntu上使用Apache服务器实现防盗链功能。选择适合你需求的方法进行配置即可。

0
看了该问题的人还看了