在Nginx中,可以使用"allow"和"deny"指令来实现IP访问限制。"allow"指令用于允许特定的IP地址或IP地址段访问服务器,"deny"指令用于阻止特定的IP地址或IP地址段访问服务器。
详细指南见:Module ngx_http_access_module
现有应用,先经过waf或负载均衡才访问到应用上。
需要对应用的/admin目录进行访问控制,非指定ip段是不能访问的。
限制访问有两种办法,一个是在waf上进行配置。另外是在应用上配置。
在应用上进行配置时,应用服务器获取的ip不是客户端真实ip,而是waf或负载均衡的ip。在这个情况下按nginx的普通配置是不起作用的。
需要做一下ip转换,从头信息里拿到真实ip才行。
location /admin {
set_real_ip_from 125.125.62.88; #设置信任ip,从这些ip访问进来的,可以从 header中获取ip地址
real_ip_header X-Real-IP; # 设置真实ip地址的参数名
real_ip_recursive on; # 如果多层允许递归获取
allow 123.127.171.128/25; # 方行指定的ip段,这个是 CIDR表示法
deny all; #禁用所有访问
}
本文由 ez 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。