在CentOS上使用Nginx实现防盗链,可以通过配置Nginx的ngx_http_referer_module
模块来完成。以下是详细的步骤:
如果你还没有安装Nginx,可以使用以下命令进行安装:
sudo yum install epel-release
sudo yum install nginx
编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
。
假设你有一个图片目录/var/www/html/images
,你希望只有来自特定域名的请求才能访问这些图片。
server {
listen 80;
server_name example.com;
location /images/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403;
}
root /var/www/html;
}
location / {
root /var/www/html;
}
}
valid_referers none blocked server_names example.com www.example.com;
:允许的引用来源。none
表示没有引用,blocked
表示被阻止的引用,server_names
表示指定的域名。if ($invalid_referer)
:如果引用无效,则返回403 Forbidden状态码。root /var/www/html;
:指定文件根目录。保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx
你可以使用浏览器访问你的图片目录,确保只有来自允许域名的请求才能成功访问图片。例如:
curl -I http://example.com/images/example.jpg
如果引用无效,你会收到403 Forbidden响应。
ngx_http_referer_module
模块。server
块或location
块中,根据你的需求进行调整。valid_referers
指令中。通过以上步骤,你可以在CentOS上使用Nginx实现基本的防盗链功能。