nginx的白名单

为nginx设置白名单的几个步骤:

第一步:指定能访问的白名单

vim /etc/nginx/ip.conf (如果在公司,记得这里是外网IP,要不然测很久都不知道为什么不行)

112.95.211.154 1; 

第二步:修改nginx配置

geo $remote_addr $ip_whitelist{
    default 0;
    include ip.conf;
}

第三步:为匹配项做白名单设置

location /test {
    if ( $ip_whitelist = 0 ){
        return 403;
}
    index index.html;
    root /tmp;
}

1:default 0;表示默认值为0;所有的请求都将受到限制

2:当ip_whitelist = 0为0时,返回403;若不为0,则接着执行下面的

测试:

1)当把该请求IP放到白名单中并设置值为1时;

2)用没有把IP放到白名单中请求时;

原文地址:https://www.cnblogs.com/lemon-le/p/9204691.html

时间: 2024-10-15 18:14:24

nginx的白名单的相关文章

nginx限速白名单配置

在<nginx限制连接数ngx_http_limit_conn_module模块>和<nginx限制请求数ngx_http_limit_req_module模块>中会对所有的IP进行限制.在某些情况下,我们不希望对某些IP进行限制,如自己的反代服务器IP,公司IP等等.这就需要白名单,将特定的IP加入到白名单中.下面来看看nginx白名单实现方法,需要结合geo和map指令来实现.geo和map指令使用方法参见下面文章.<nginx geo使用方法>和<nginx

Nginx配置白名单策略遇到问题

与大部分网文配置的一样, 我把白名单策略配置在 nginx.conf 的 server 段下面. 正常情况下,任何 ip 不在 $http_x_forwarded_for 内的请求都会返回 404. 当我同时又定义了一个 location /template.html 并且希望放开所有对它的访问, 所以我在这个 location 下面使用了 allow all; 语句. 问题出现了,我的希望的效果根本没有生效, 无论我怎样去定义 location /template.html 下面的语句,都会返

nginx配置白名单

配置如下: http模块: http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" &quo

两种方法设置nginx并发限制下面的白名单策略

前言: 今天,公司主站突然出现IDE创建应用没反应的问题,经过预发布环境.非代理环境下面的服务测试,均没有问题,定位问题出现在前端.而我们前端有两层代理,一是青松抗D系统,一是我们自己的nginx代理系统.通过web页面测试发现控制台曝出下面的错误: 503 Service Temporarily Unavailable 那么可以断定的确是nginx这一层出现了问题.想想以前的nginx的配置修改及青松系统的接入,找到如下原因: 1. nginx设置单个IP的访问次数: limit_req_zo

nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录

geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_module模块可以用来创建变量,其值依赖于客户端IP地址.geo指令语法: geo [$address] $variable { ... }默认值: -配置段: http定义从指定的变量获取客户端的IP地址.默认情况下,nginx从$remote_addr变量取得客户端IP地址,但也可以从其他变量获得.例

nginx 新上线、机房白名单

部门要换一个域名,dns解析已经注册号,成功解析.用Nginx做反向代理,完成本地测试.域名按照servername的方式访问,是可以成功的.但是访问域名老是不成功,就连用本地hosts指向访问都有问题.后来才发现机房有白名单,备案注册来完成.

nginx设置黑/白名单

编辑nginx配置文件: server { listen 80; server_name www.xxx.cn; #白名单 allow 192.168.1.200; deny all; #黑名单 #deny 192.168.2.200; #allow all; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://zzz-manage; #Proxy Settings prox

[Nginx配置系列] 基于Nginx Geo与 Nginx Map模块进行Nginx白名单配置

一.简介 在通常情况下,使用 nginx 基于 ip 限制访问请求频率等限制内容,我们会需要对特定ip进行限制排除操作,因此本文引入了基于nginx geo 与 nginx map 进行此类情景相关配置: 在没有人为操作删除的情况下(without-http_geo_module),nginx默认模块中已经加载了ngx-http-geo-module相关内容: ngx-http-geo-module可以用来创建变量,变量值依赖于客户端 ip 地址; ngx-http-map-module可以基于

nginx使用GeoIP限制访问并支持白名单

要使用GeoIP,需要重新编译Nginx,我的系统是centos6.5,nginx用的是tengine,需要的软件包:gcc.gcc-c++. openssl. openssl-devel.geoIP library.GeoLite Country.GeoLite City.pcre.tengine2 1.下载需要的软件包 wget http://tengine.taobao.org/download/tengine-2.0.3.tar.gz wget http://geolite.maxmin