nginx根据来访ip跳转

admin 2020-01-07 AM 702℃ 0条

前言:目前有一个需求,指定ip访问网站就跳转到另一个站点,或者某个页面。可以精确到某个ip跳转,也可判断访问者ip段,比如c段b段跳转
方法:nginx配置文件获取访问者ip或段然后判断跳转。
方法一:在conf配置文件中添加如下代码,请将ip和地址改成您需要的即可,

location / {
    if ($remote_addr ~* "110.110.110.110"){
            rewrite ^(.*) https://blog.tag.gg/ break;
    }}

方法二:针对某个ip段判断跳转,如下是判断c段,也可判断b段等。

location / {
    if ($remote_addr ~* ^110\.110\.110\.(.*?)$){
            rewrite ^(.*) https://blog.tag.gg/ break;
    }}

方法三:屏蔽ip反馈指定错误状态码:

 location / { if ($remote_addr ~ '110.110.110.110') {
           return 403 "Error uuid forbidden.";
      }}

补充关于nginx的正则表达式

~              区分大小写匹配

~*            不区分大小写匹配

!~和!~*    分别为区分大小写不匹配及不区分大小写不匹配

^             匹配的开头

$             匹配的结尾

. * ?         等需要转义


标签: nginx

非特殊说明,本博所有文章均为博主原创。