在Ubuntu上配置Apache服务器以防止防盗链,可以通过修改Apache的配置文件来实现。以下是一个基本的步骤指南:
首先,你需要打开Apache的主配置文件。通常这个文件位于 /etc/apache2/apache2.conf
或 /etc/apache2/httpd.conf
。
sudo nano /etc/apache2/apache2.conf
在配置文件中找到 <Directory>
或 <Location>
块,添加以下防盗链规则:
<Directory "/var/www/html">
# 允许所有来源访问
Allow from all
# 防盗链规则
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
</Directory>
解释:
RewriteEngine On
:启用URL重写引擎。RewriteCond %{HTTP_REFERER} !^$
:检查HTTP Referer是否为空。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查HTTP Referer是否不是来自你的域名(忽略大小写)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
:如果Referer不符合条件,则返回403 Forbidden状态码。保存文件并退出编辑器。
Ctrl + X
Y
Enter
为了使配置生效,需要重启Apache服务器。
sudo systemctl restart apache2
你可以通过访问你的网站并尝试从其他域名下载图片来测试防盗链是否生效。如果防盗链配置正确,你应该会看到403 Forbidden错误。
RewriteCond
中添加更多的域名。.css
或 .js
)。通过以上步骤,你应该能够在Ubuntu上成功配置Apache服务器以防止防盗链。