trx
Published on 2024-08-12 / 31 Visits
0

nginx配置禁用指定接口

# 拒绝所有IP访问此接口
location /aaa/bbb {
    if ($query_string ~* ".*=.*&.*=.*")
        return 403;
    }
    proxy_pass http://xx.xx.xx.xx/aaa/bbb
}


# 允许指定IP访问此接口
server {  
 # 设置允许通过的特定IP地址
    set $allow_ip "1.2.3.4";  
# 替换为你想允许的IP地址
    location /aaa/bbb {       
 # 检查请求的IP地址是否是允许的IP
        if ($remote_addr = $allow_ip) { 
           set $skip_check 1;       
        }        
# 检查查询字符串,如果不是允许的IP并且满足查询字符串条件,则返回403        
if ($skip_check != 1) {
    if ($query_string ~* ".*=.*&.*=.*") {
        return 403;            
    }        
 }       
 proxy_pass http://xx.xx.xx.xx/aaa/bbb;   
 }
}