温馨提示×

如何配置Ubuntu Apache的防盗链功能

小樊
54
2025-06-17 21:04:06
栏目: 智能运维

在Ubuntu上配置Apache服务器的防盗链功能,可以通过修改Apache的配置文件来实现。防盗链的目的是防止其他网站未经授权地引用你的图片、视频或其他资源。以下是详细的步骤:

1. 安装Apache服务器(如果尚未安装)

如果你还没有安装Apache服务器,可以使用以下命令进行安装:

sudo apt update
sudo apt install apache2

2. 创建防盗链配置文件

你可以创建一个新的配置文件来专门处理防盗链设置,或者直接在现有的配置文件中进行修改。通常,/etc/apache2/conf-available/.htaccess 是一个不错的选择。

使用 .htaccess 文件

  1. 打开终端并导航到你的网站根目录:

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

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

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

    解释:

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

3. 启用 .htaccess 文件

确保Apache配置允许使用 .htaccess 文件。编辑 /etc/apache2/apache2.conf 文件:

sudo nano /etc/apache2/apache2.conf

找到 <Directory /var/www/> 部分,并确保有以下行:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

4. 重启Apache服务器

保存所有更改后,重启Apache服务器以使配置生效:

sudo systemctl restart apache2

5. 测试防盗链功能

你可以通过访问你的网站并尝试从其他域名引用资源来测试防盗链功能。如果配置正确,你应该会看到403 Forbidden错误。

注意事项

  • 确保你的防火墙允许HTTP(端口80)和HTTPS(端口443)流量。
  • 如果你使用的是HTTPS,请相应地修改 .htaccess 文件中的URL模式。
  • 你可以根据需要调整允许的域名列表。

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

0