在 CentOS 系统上使用 Nginx 实现防盗链,可以通过配置 Nginx 的 location
块和 valid_referers
指令来实现。以下是一个简单的示例:
/etc/nginx/nginx.conf
或 /etc/nginx/conf.d/default.conf
。使用文本编辑器打开,例如:sudo vi /etc/nginx/conf.d/default.conf
server
块中,找到 location
块,或者创建一个新的 location
块,用于处理需要防盗链的文件类型。例如,如果你想保护图片文件的防盗链,可以这样设置:location ~* \.(jpg|jpeg|png|gif)$ {
# 设置允许访问的域名
valid_referers none blocked yourdomain.com www.yourdomain.com;
# 如果请求的来源不在允许的域名列表中,返回 403 状态码
if ($invalid_referer) {
return 403;
}
# 其他配置,例如缓存、压缩等
}
将 yourdomain.com
和 www.yourdomain.com
替换为你希望允许访问的域名。如果有多个域名,请用空格分隔。
保存并关闭配置文件。
重新加载 Nginx 配置以使更改生效:
sudo nginx -t # 检查配置文件语法是否正确
sudo nginx -s reload # 重新加载配置文件
现在,Nginx 将根据配置的规则检查请求的来源,如果来源不在允许的域名列表中,将返回 403 状态码,从而实现防盗链功能。