Nginx参考手册
ngx_http_referer_module
ngx_http_referer_module
- 示例配置
- 指令
- referer_hash_bucket_size
- referer_hash_max_size
- valid_referers
- Embedded Variables
该ngx_http_referer_module
模块用于在“Referer”标题字段中阻止对具有无效值的请求访问站点。应该记住,制作具有适当“Referer”字段值的请求非常容易,因此本模块的预期目的不是彻底屏蔽这些请求,而是阻止常规浏览器发送的大量请求。还应该考虑到即使对于有效请求,常规浏览器也不能发送“Referer”字段。
示例配置
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
if ($invalid_referer) {
return 403;
}
指令
句法: |
referer_hash_bucket_size大小; |
---|---|
默认: |
referer_hash_bucket_size 64; |
语境: |
服务器,位置 |
设置有效查阅者散列表的存储桶大小。设置散列表的细节在单独的文档中提供。
句法: |
referer_hash_max_size大小; |
---|---|
默认: |
referer_hash_max_size 2048; |
语境: |
服务器,位置 |
设置有效的引用器散列表的最大大小。 设置散列表的细节在单独的文档中提供。
句法: |
valid_referers none | blocked | server_names | string ...; |
---|---|
默认: |
— |
语境: |
服务器,位置 |
指定将导致嵌入$invalid_referer
变量设置为空字符串的“Referer”请求标头字段值。否则,该变量将被设置为“ 1
”。搜索匹配不区分大小写。
参数可以如下所示:
none
请求头中缺少“Referer”字段; blocked
“Referer”字段出现在请求头中,但其值已被防火墙或代理服务器删除; 这些值是不以“ http://
”或“ https://
” 开头的字符串; server_names
“Referer”请求标题字段包含一个服务器名称; 任意字符串定义一个服务器名称和一个可选的URI前缀。服务器名称可以*
在开头或结尾处具有“ ”。在检查期间,“Referer”字段中的服务器端口被忽略; 正则表达式的第一个符号应该是“ ~
”。应该注意的是,表达式将与在“ http://
”或“ https://
” 之后开始的文本匹配。
例:
valid_referers none blocked server_names
*.example.com example.* www.example.org/galleries/
~\.google\.;
嵌入式变量
$invalid_referer:
如果“Referer”请求标头字段值被认为有效,则为空字符串,否则为“ 1
”。
ngx_http_referer_module |
---|
Nginx是一款轻量级的 Web 服务器/反向代理服务器及电子邮件代理服务器,可在 BSD-like 协议下发行。其特点是占有内存少,并发能力强。
主页 | https://nginx.org/ |
源码 | http://hg.nginx.org/nginx |
发布版本 | 1.13.6 |