$request_filename:D:\nginx/html/test1/test2/test.php 6、防盗链 location ~* \.(gif|jpg|swf)$ { valid_referers none blocked start.igrow.cn sta.igrow.cn; if ($invalid_referer) { rewrite ^/ http://$host/logo.png; } } 7、根据文件类型设置过期时间 location ~* \.(js|css|jpg|jpeg|...
valid_referers none blocked www.vison.com www.wsvison.com; #这里表示Referer头域中的值是none或者blocked或者后面这些网址才会返回去正常的gif|jpg|png|swf|flv文件,否则执行下面if块代码 if ($invalid_referer) { #匹配成功为0 ,没有匹配成功为1 return 404; } } 1. 2. 3. 4. 5. 6. 7....
语法:valid_referers none | blocked | server_name | string ...; 1 这里表示请求头部Referer域是否匹配上面值,如果匹配了$invalid_referer 的值为0,没有相匹配就是1; 字符 说明 none 表示Referer头域不存在的情况 blocked 检测Referer头域的值被防火墙或者代理服务器删除或者伪装的情况,这种情况,该头域的值不...
if ($invalid_referer) { #匹配成功为0 ,没有匹配成功为1 return 404; } }
if (!-f $request_filename){ break; proxy_pass http://127.0.0.1; } # 如果请求的文件名不存在,则反向代理到localhost 。这里的break也是停止rewrite检查 if ($args ~ post=140){ rewrite ^ http://example.com/ permanent; } # 如果query string中包含"post=140",永久重定向到example.com ...
说明:1.首先当我输入我要打开的网址的时候,因为是直接输入的没有referer所以匹配了valid_referers后面的none或者是blocked 所以invalid_referer值为0 所以不进行跳转. 当我是从这个网站里面的链接跳到该网站首页的时候 因为referer的值是肯定包含srever_names,所以匹配了server_names所以不进行跳转。
$request_filename: 当前请求的文件路径,由root或alias指令与URI请求生成。 $scheme: HTTP方法(如http,https)。 $server_protocol: 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。 $server_addr: 服务器地址,在完成一次系统调用后可以确定这个值。 $server_name: 服务器名称。
$request_filename:当前请求的文件路径,由root或alias指令与URL请求生成 $scheme:HTTP方法(如http,https) $server_protocol:请求使用的协议,通常是HTTP/1.0或HTTP/1.1 $server_addr:服务器地址,在完成一次系统调用后可以确定这个值 $server_name:服务器名称 ...
if ($request_method = POST) { return 405; } if ($slow) { limit_rate 10k; } if ($invalid_referer) { return 403; } 注意:if和location都能实现类似的效果,它们的不同之处在于能够在这两个区段使用的指令不同。换句话说就是有些指令可以用在if区段,有的则不可以,但几乎所有指令都可以在location...
如果变量 $invalid_referer 为真(表示请求的 Referer 头无效或不存在,或者不符合某些预期的模式),Nginx 将返回 403 状态码(禁止访问)。常用于防止热链接、保护资源或实施其他基于 Referer 的访问控制策略。 if ($invalid_referer) { return 403; } 官方说明: ...