防盗链是指当图片不是自己网站打开时返回 403 或者指定图片,是通过请求的来路判断是否是自己的站点来设置响应。

语法
valid_referers none | blocked | server_names | string

none:表示没有来路
blocked:表示有来路
server_names:来路里包含当前域名
string:(忽略端口)

  • 如果是字符串:一个域名验证的规则,* 表示通配符
  • 如果是以 ~ 开头:正则表达式,排除https://或http://开头的字符串
    以上参数可以叠加一起使用

示例

server {

    # 配置所有图片
    location ~* \.(gif|jpg|png|bmp)$ {
        # 验证可以是没有来路、或者有来路时来路匹配lvtao.org、或者匹配当前域名
        valid_referers none blocked *.lvtao.org server_names;
        # 如果验证不通过则返回403
        if ($invalid_referer) {
            return 403;
        }
    }
}