在CentOS上配置Nginx以防止防盗链,可以通过以下步骤实现:
如果你还没有安装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 / {
# 允许的引用页
valid_referers none blocked server_names ~\.example\.com$ ~\.example\.net$;
if ($invalid_referer) {
return 403 "Forbidden";
}
root /var/www/html;
index index.html index.htm;
}
location /protected/ {
# 允许的引用页
valid_referers none blocked server_names ~\.example\.com$ ~\.example\.net$;
if ($invalid_referer) {
return 403 "Forbidden";
}
root /var/www/html/protected;
index index.html index.htm;
}
}
valid_referers 指令用于指定允许的引用页。你可以使用以下值:
none:不允许任何引用。blocked:允许被Nginx阻止的引用。server_names:允许指定的服务器名称。~\.example\.com$ 和 ~\.example\.net$:允许以 .example.com 和 .example.net 结尾的域名。if ($invalid_referer) 指令用于检查引用是否有效。如果无效,则返回403 Forbidden状态码。
保存配置文件后,重启Nginx以应用更改:
sudo systemctl restart nginx
你可以尝试从不同的域名或没有引用的页面访问受保护的资源,确保防盗链配置生效。
通过以上步骤,你可以在CentOS上配置Nginx以防止防盗链。根据你的具体需求,可以调整 valid_referers 的值和路径。