ubuntu

Ubuntu Apache2配置防盗链方法

小樊
44
2025-05-26 13:47:51
栏目: 智能运维

在Ubuntu上配置Apache2以防止防盗链,可以通过修改Apache的配置文件来实现。防盗链的目的是防止其他网站直接链接到你的服务器上的资源(如图片、视频等),从而节省带宽并保护你的内容。以下是详细的步骤:

方法一:使用mod_rewrite模块

  1. 启用mod_rewrite模块: 打开终端并运行以下命令来启用mod_rewrite模块:

    sudo a2enmod rewrite
    
  2. 重启Apache服务: 启用模块后,重启Apache服务以使更改生效:

    sudo systemctl restart apache2
    
  3. 配置防盗链: 编辑你的网站配置文件。通常,这些文件位于/etc/apache2/sites-available/目录下。你可以编辑主配置文件000-default.conf,或者为特定网站创建一个新的配置文件。

    使用你喜欢的文本编辑器打开配置文件,例如:

    sudo nano /etc/apache2/sites-available/your-site.conf
    

    <Directory><Location>块中添加以下内容:

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

    解释:

    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^$:检查HTTP_REFERER是否为空。
    • RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]:检查HTTP_REFERER是否不是你的域名。
    • RewriteRule \.(jpg|jpeg|png|gif|svg)$ - [F]:如果条件匹配,返回403 Forbidden状态码。
  4. 保存并退出: 保存文件并退出编辑器。

  5. 启用站点配置: 如果你创建了一个新的配置文件,确保启用它:

    sudo a2ensite your-site.conf
    
  6. 重启Apache服务: 再次重启Apache服务以应用更改:

    sudo systemctl restart apache2
    

方法二:使用mod_headers模块

  1. 启用mod_headers模块: 打开终端并运行以下命令来启用mod_headers模块:

    sudo a2enmod headers
    
  2. 重启Apache服务: 启用模块后,重启Apache服务以使更改生效:

    sudo systemctl restart apache2
    
  3. 配置防盗链: 编辑你的网站配置文件,例如:

    sudo nano /etc/apache2/sites-available/your-site.conf
    

    <Directory><Location>块中添加以下内容:

    <Directory "/var/www/html">
        Header set Referrer-Policy "no-referrer-when-downgrade"
        RewriteEngine On
        RewriteCond %{HTTP_REFERER} !^$
        RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]
        RewriteRule \.(jpg|jpeg|png|gif|svg)$ - [F]
    </Directory>
    

    解释:

    • Header set Referrer-Policy "no-referrer-when-downgrade":设置Referrer策略。
    • 其余部分与方法一相同。
  4. 保存并退出: 保存文件并退出编辑器。

  5. 启用站点配置: 如果你创建了一个新的配置文件,确保启用它:

    sudo a2ensite your-site.conf
    
  6. 重启Apache服务: 再次重启Apache服务以应用更改:

    sudo systemctl restart apache2
    

通过以上步骤,你可以在Ubuntu上配置Apache2以防止防盗链。选择适合你需求的方法进行配置即可。

0
看了该问题的人还看了