在Ubuntu上配置Apache服务器以实现防盗链,可以通过以下步骤来完成:
如果你还没有安装Apache,可以使用以下命令进行安装:
sudo apt update
sudo apt install apache2
防盗链通常是通过检查HTTP请求头中的Referer
字段来实现的。你可以使用Apache的mod_rewrite
模块来实现这一功能。
mod_rewrite
首先,确保mod_rewrite
模块已经启用:
sudo a2enmod rewrite
.htaccess
文件在你的网站根目录下创建或编辑.htaccess
文件。例如,如果你的网站根目录是/var/www/html
,则在该目录下创建或编辑.htaccess
文件:
sudo nano /var/www/html/.htaccess
在.htaccess
文件中添加以下内容:
RewriteEngine On
# 允许的域名列表
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
# 阻止访问
RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
解释:
RewriteEngine On
:启用重写引擎。RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain\.com [NC]
:检查Referer
字段是否不是你的域名(不区分大小写)。RewriteCond %{HTTP_REFERER} !^https://(www\.)?yourdomain\.com [NC]
:检查Referer
字段是否不是你的域名(不区分大小写)。RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]
:如果Referer
字段不符合条件,则返回403 Forbidden状态码,并停止进一步处理。保存并关闭.htaccess
文件后,重启Apache服务器以使更改生效:
sudo systemctl restart apache2
尝试从其他域名访问你的图片资源,应该会收到403 Forbidden响应。
.htaccess
文件的语法正确,否则可能会导致服务器错误。RewriteCond
中添加更多的条件。通过以上步骤,你可以在Ubuntu上配置Apache服务器以实现防盗链功能。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: ubuntu反引号怎么提高性能