在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
。
server {
listen 80;
server_name example.com;
location /protected/ {
valid_referers none blocked server_names example.com www.example.com;
if ($invalid_referer) {
return 403 "Forbidden";
}
root /var/www/html;
try_files $uri $uri/ =404;
}
location / {
root /var/www/html;
try_files $uri $uri/ =404;
}
}
valid_referers none blocked server_names example.com www.example.com;
:指定允许的引用来源。none
表示不允许任何引用,blocked
表示阻止的引用,server_names
表示允许的域名。if ($invalid_referer) { return 403 "Forbidden"; }
:如果引用来源无效,则返回403 Forbidden状态码。root /var/www/html;
:指定网站文件的根目录。try_files $uri $uri/ =404;
:尝试匹配请求的文件,如果不存在则返回404错误。保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx
你可以使用浏览器或命令行工具(如curl
)来测试防盗链配置是否生效。
访问http://example.com/protected/yourfile.jpg
,如果引用来源不在允许列表中,浏览器将显示403 Forbidden。
curl -I http://example.com/protected/yourfile.jpg
如果引用来源无效,响应头将包含HTTP/1.1 403 Forbidden
。
ngx_http_referer_module
模块。valid_referers
指令中添加这些域名。通过以上步骤,你可以在CentOS上使用Nginx实施防盗链,保护你的网站资源不被非法引用。