在Ubuntu上使用Nginx进行防盗链设置,可以通过配置Nginx的location
块和valid_referers
指令来实现。以下是一个基本的防盗链配置示例:
/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your_domain.conf
。如果你不确定配置文件的位置,可以使用以下命令查找:sudo find / -name nginx.conf
server
块中,找到你想要添加防盗链规则的location
块。例如,如果你想要保护一个名为images
的目录,可以这样设置:location /images/ {
# 防盗链配置
}
location
块中,添加valid_referers
指令来指定允许访问资源的域名。同时,使用deny all;
来拒绝所有其他来源的请求。例如:location /images/ {
valid_referers none blocked server_names yourdomain.com www.yourdomain.com;
if ($invalid_referer) {
return 403 "Forbidden";
}
# 其他配置,如代理、缓存等
}
将yourdomain.com
和www.yourdomain.com
替换为你允许访问资源的域名。
保存配置文件并退出编辑器。
重新加载Nginx以应用更改:
sudo nginx -t # 检查配置文件语法是否正确
sudo nginx -s reload # 重新加载配置文件
现在,你的Nginx服务器已经设置了防盗链规则。只有来自指定域名的请求才能访问/images/
目录下的资源,其他来源的请求将被拒绝并返回403 Forbidden错误。