将请求重定向到指定域名的Nginx配置
Nginx可以通过配置文件实现指定域名访问请求。首先,在nginx.conf文件中配置server_name指令,指定域名。然后,在网站根目录下创建一个名为index.html的文件,用于响应请求。最后,重启Nginx服务使配置生效。 例如,假设我们要将域名example.com指向本地服务器的80端口,可以在nginx.conf文件中添加以下内容: ``` server { listen 80; server_name example.com; root /path/to/your/website; } ``` 重启Nginx后,访问example.com时,Nginx会将请求转发到指定的网站根目录。
valid_referers参数
Nginx指定域名访问请求其实很简单,Nginx提供了valid_referers参数用于检查url中refer参数的状态。
Syntax:valid_referersnone|blocked|server_names|string
总共有4种值,none、blocked、server_names、string
1、none //直接访问url,而不使用任何网站或链接的跳转,$http_referer变量的值是空的。
2、blocked //请求标头中存在“ Referer”字段,但其值已被防火墙或dai理服务器删除;这些值是不以“ http://”或“ https://”开头的字符串;
3、字符串 //配置域名列表,支配通配符、正则表达式写法。
常用方法:
valid_referersnoneblocked*.wdzzz.com;if($invalid_referer){#rewrite^/http://www.wdzzz.com/;return403;}
如果"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/;return403;}
去掉是none和blocked参数,也即:除了refer白名单的域名允许访问,其它都返回403(也包含none和blocked的refer也返回403)。
相关专题