在Nginx配置中,可以通过配置valid_referers模块来实现防盗链。以下是一个简单的示例:
打开Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/your_domain.conf。
在server块中,添加以下配置:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
valid_referers none blocked your_domain.com www.your_domain.com;
if ($invalid_referer) {
return 403 "Forbidden";
}
}
这里的配置表示:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$:匹配所有以.jpg, .jpeg, .png, .gif, .ico, .css, .js结尾的文件请求。valid_referers none blocked your_domain.com www.your_domain.com;:允许的引用来源。这里允许直接访问(none)、被Nginx阻止的引用(blocked)以及your_domain.com和www.your_domain.com两个域名。if ($invalid_referer):如果引用来源无效,则执行以下操作。return 403 "Forbidden";:返回403 Forbidden状态码,并显示"Forbidden"消息。保存配置文件并退出。
重新加载Nginx配置以使更改生效:
sudo nginx -t
sudo nginx -s reload
现在,当用户尝试从不允许的域名访问静态资源时,将会收到403 Forbidden响应。