valid_referers参数
Nginx指定域名访问请求其实很简单,Nginx提供了valid_referers参数用于检查url中refer参数的状态。
Syntax:valid_referers none | blocked | server_names | string
总共有4种值,none、blocked、server_names、string
1、none //直接访问url,而不使用任何网站或链接的跳转,$http_referer变量的值是空的。
2、blocked //请求标头中存在“ Referer”字段,但其值已被防火墙或dai理服务器删除;这些值是不以“ http://”或“ https://”开头的字符串;
3、字符串 //配置域名列表,支配通配符、正则表达式写法。
常用方法:
valid_referers none blocked *.wdzzz.com; if ($invalid_referer) { #rewrite ^/ http://www.wdzzz.com/; return 403; }
如果"refer为空"、或"refer不以http/https开头"、或"域名为example.com的server_name" 都是有效的refer,也即valid_referers的值为0(允许访问),除此之外为1(返回403)。
只允许refer白名单的域名访问,其它返回403,如果是这种需求,配置应该这么写:
valid_referers *.wdzzz.com; if ($invalid_referer) { #rewrite ^/ http://www.wdzzz.com/; return 403; }
去掉是none和blocked参数,也即:除了refer白名单的域名允许访问,其它都返回403(也包含none和blocked的refer也返回403)。
nginx
2022-11-28 19Nginx是一个高性能的HTTP和反向代理web服务器,也是站长常见的网站环境之一.nginx凭借高性能低消耗近几年越来越多站长使用,学习好nginx也成为站长必备知识点.我的...
- 开源的Nginx配置文件解析工具 [2024-09-08]
- Nginx常用301重定向代码整理 [2024-02-07]
- Nginx限制国内IP用户访问网站 [2024-01-05]
- nginx判断某个目录不跳转https,其他目录强制跳转https配置规则 [2024-01-03]
- nginx实现子域名301跳转到另外一个域名对应子域名 [2023-12-29]