温馨提示×

Ubuntu Apache如何实现防盗链

小樊
54
2025-04-24 07:50:07
栏目: 智能运维

在Ubuntu上使用Apache服务器实现防盗链,可以通过配置Apache的.htaccess文件来实现。以下是详细的步骤:

1. 创建或编辑 .htaccess 文件

首先,找到你的网站根目录(通常是/var/www/html),然后在该目录下创建或编辑.htaccess文件。

sudo nano /var/www/html/.htaccess

2. 添加防盗链规则

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

RewriteEngine On

# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]

# 阻止访问
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [F,L]

解释:

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

3. 保存并退出

Ctrl + X,然后按Y确认保存,最后按Enter退出编辑器。

4. 测试防盗链

将你的图片链接放在其他网站上,然后尝试访问这些链接。如果来源不是你允许的域名,你应该会看到403 Forbidden错误。

注意事项

  • 确保你的Apache服务器已经启用了mod_rewrite模块。你可以通过以下命令启用它:

    sudo a2enmod rewrite
    
  • 修改.htaccess文件后,需要重启Apache服务器以使更改生效:

    sudo systemctl restart apache2
    

通过以上步骤,你就可以在Ubuntu上的Apache服务器上实现基本的防盗链功能。根据需要,你可以调整允许的域名列表和阻止的资源类型。

0