温馨提示×

Ubuntu Apache如何设置防盗链

小樊
57
2025-04-30 07:52:00
栏目: 智能运维

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

1. 创建或编辑 .htaccess 文件

首先,找到你想要保护图片、视频或其他资源的目录。通常,这些资源位于网站的public_html目录下。

cd /var/www/html/your-site-directory

然后,创建一个名为.htaccess的文件(如果它还不存在),或者编辑现有的文件。

nano .htaccess

2. 添加防盗链规则

.htaccess文件中添加以下内容来设置防盗链规则。你可以根据需要调整RewriteCondRewriteRule参数。

# 防盗链规则
RewriteEngine On

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

# 拒绝访问
RewriteRule \.(jpg|jpeg|png|gif|swf|flv)$ - [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|swf|flv)$ - [F,L]:拒绝访问以指定扩展名结尾的文件,并返回403 Forbidden状态码。

3. 保存并退出

保存文件并退出编辑器。

Ctrl + X
Y
Enter

4. 测试防盗链规则

为了确保防盗链规则生效,你可以尝试从不同的域名访问受保护的资源。如果规则配置正确,你应该会收到403 Forbidden错误。

注意事项

  • 确保你的Apache服务器允许使用.htaccess文件进行重写。你可以在/etc/apache2/apache2.conf/etc/apache2/sites-available/your-site.conf文件中检查以下配置:
<Directory /var/www/html/your-site-directory>
    AllowOverride All
</Directory>
  • 如果你使用的是HTTPS,请确保在RewriteCond中同时包含HTTP和HTTPS的规则。

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

0