nginx做白名单和限流】的更多相关文章

在日常运维工作中,会碰到这样的需求:设置nginx的某个域名访问只对某些ip开放,其他ip的客户端都不能访问.达到这样的目的一般有下面两种设置方法:(1)针对nginx域名配置所启用的端口(一般是80端口)在iptables里做白名单,比如只允许100.110.15.16.100.110.15.17.100.110.15.18访问.但是这样就把nginx的所有域名访问都做了限制,范围比较大![root@china ~]# vim /etc/sysconfig/iptables......-A I…
为nginx设置白名单的几个步骤:   第一步:指定能访问的白名单   vim /etc/nginx/ip.conf (如果在公司,记得这里是外网IP,要不然测很久都不知道为什么不行) ;   第二步:修改nginx配置 geo $remote_addr $ip_whitelist{ default ; include ip.conf; }   第三步:为匹配项做白名单设置 location /test { ){ return ; } index index.html; root /tmp; }…
在<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…
在http 模块 增加 geo $remote_addr $ip_whitelist{ default 0; include white_ip.conf; } 在location 模块 增加 (注意if 和($ip)之间有空格) if  ($ip_whitelist = 0){ return 403; } 在conf  同级目录 添加white_ip.conf 文件 将白名单ip添加进去 如:183.157.83.10  1; 重启nginx 即可 如果white_ip.conf  没有对应的i…
1:ip.config 192.168.3.15 1;192.168.3.10 1;192.168.0.8 1; 2:nginx.conf #geoIP的白名单 geo $remote_addr $ip_whitelist { default 0; include ip.conf; } location /console { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_ad…
配置如下: 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…
不知道ZSet(有序集合)的看官们,可以翻阅我的上一篇文章: 小白也能看懂的REDIS教学基础篇--朋友面试被SKIPLIST跳跃表拦住了 书接上回,话说我朋友小A童鞋,终于面世通过加入了一家公司.这个公司待遇比较丰厚,而且离小A住的地方也比较近,最让小A中意还是有个肯带他的大佬.小A对这份工作非常满意.时间一天一天过去,某个周末,小A来找我家吃蹭饭.在饭桌上小A给我分享了他上星期的一次事故经历. 上个星期,他们公司出了比较严重的一个事故,一个导出报表的后台服务拖垮了报表数据服务,导致很多查询该…
1.添加用户 #useradd aaa #passwd aaa -->输入密码:123456 添加3个用户,bbb和ccc与aaa添加一样 2.添加白名单 #vim /etc/ssd/sshd_config  //编辑sshd的主配置文件,在最后一行添加: AllowUsers aaa bbb   // AllowUsers user1 user2 user3  //用户白名单,没有被列出都是被禁止 #service sshd reload //重载sshd  这是centos6的 #syste…
limit_conn_zone是限制同一个IP的连接数,而一旦连接建立以后,客户端会通过这连接发送多次请求,那么limit_req_zone就是对请求的频率和速度进行限制. limit_conn_zone $binary_remote_address zone=addr:10m; limit_conn addr 2; 有了连接数限制,相当于限制了客户端浏览器和Nginx之间 的管道个数,那么浏览器通过这个管道运输请求,如同向自来水管中放水,水的流速和压力对于管道另外一端是有影响的.为了防止不信任…
在日常运维工作中,会碰到这样的需求:设置网站访问只对某些ip开放,其他ip的客户端都不能访问.可以通过下面四种方法来达到这种效果:1)针对nginx域名配置所启用的端口(比如80端口)在iptables里做白名单,比如只允许100.110.15.16.100.110.15.17.100.110.15.18访问.但是这样就把nginx的所有80端口的域名访问都做了限制,范围比较大! [root@china ~]# vim /etc/sysconfig/iptables ...... -A INPU…