服务器配置

Nginx指定域名访问请求

我的站长站 2023-09-27 人阅读

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
nginx
2022-11-28 34

Nginx是高性能HTTP与反向代理Web服务软件,具备低资源消耗、高并发稳定的优势,是站长建站主流环境组件。本站整理全套Nginx学习资料,包含一键安装步骤、基础配置指南...

服务器配置教程标签