防盗链是指当图片不是自己网站打开时返回 403 或者指定图片,是通过请求的来路判断是否是自己的站点来设置响应。
语法
valid_referers none | blocked | server_names | string
none
:表示没有来路blocked
:表示有来路server_names
:来路里包含当前域名string
:(忽略端口)- 如果是字符串:一个域名验证的规则,
*
表示通配符 - 如果是以
~
开头:正则表达式,排除 https://或 http://开头的字符串
- 如果是字符串:一个域名验证的规则,
例子
server {
# 配置所有图片
location ~* \.(gif|jpg|png|bmp)$ {
# 验证可以是没有来路、或者有来路时来路匹配xuexb.com、或者匹配当前域名
valid_referers none blocked *.xuexb.com server_names;
# 如果验证不通过则返回403
if ($invalid_referer) {
return 403;
}
}
}