温馨提示×

Ubuntu上Apache如何配置防盗链

小樊
32
2025-03-04 23:42:16
栏目: 智能运维
Ubuntu服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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

方法一:使用mod_rewrite模块

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

    sudo a2enmod rewrite
    
  2. 编辑Apache配置文件: 通常,你需要编辑网站的虚拟主机配置文件。这些文件通常位于/etc/apache2/sites-available/目录下。例如,如果你的网站配置文件是yourdomain.com.conf,你可以使用以下命令编辑它:

    sudo nano /etc/apache2/sites-available/yourdomain.com.conf
    
  3. 添加防盗链规则: 在<VirtualHost>标签内添加以下内容:

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

    解释:

    • RewriteEngine On:启用重写引擎。
    • RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]:检查HTTP Referer是否不是来自你的域名(不区分大小写)。
    • RewriteCond %{HTTP_REFERER} !^$:确保Referer不是空的。
    • RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]:如果条件匹配,则返回403 Forbidden状态码,并停止进一步处理。
  4. 保存并退出编辑器: 按Ctrl+X,然后按Y确认保存,最后按Enter退出。

  5. 重启Apache服务: 运行以下命令以使更改生效:

    sudo systemctl restart apache2
    

方法二:使用.htaccess文件

  1. 创建或编辑.htaccess文件: 在你的网站根目录(例如/var/www/html)下创建或编辑.htaccess文件:

    sudo nano /var/www/html/.htaccess
    
  2. 添加防盗链规则: 在文件中添加以下内容:

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
    
  3. 保存并退出编辑器: 按Ctrl+X,然后按Y确认保存,最后按Enter退出。

  4. 重启Apache服务: 运行以下命令以使更改生效:

    sudo systemctl restart apache2
    

注意事项

  • 确保你的防火墙允许HTTP(80)和HTTPS(443)流量。
  • 如果你使用的是SSL证书,确保你的网站配置文件中启用了SSL,并且.htaccess文件中的规则也适用于HTTPS。
  • 防盗链规则可能会影响合法用户的访问,因此请谨慎配置。

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

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

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

0