概述
使用ngx_http_access_module限制网站来源IP访问
一、禁止某目录让外界访问,但允许某IP访问改目录,且支持PHP解析
限制指定IP或IP段访问
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.1.0/16;
deny all;
}
利用deny和allow只允许IP访问
location / {
root /data0/www/www;
index index.html index.html;
allow 10.0.0.7;
deny all;
}
只拒接某些IP访问
注意事项:
deny一定要加一个IP,否则会直接跳转到403,不再往下执行了,如果403默认页是在同一域名下,会造成死循环访问.
对于allow的IP,从允许访问的段位从小到大排列,如127.0.0.0/24的下面才能是10.10.0.0/16
其中:
24表示子网掩码:255.255.255.0
16表示子网掩码:255.255.0.0
8表示子网掩码:255.0.0.0
以deny all;结尾,表示了除了上面允许的,其它的都禁止。
如:
deny 192.168.1.1;
allow 127.0.0.0/24;
allow 192.168.0.0/16;
allow 10.10.0.0/16;
deny all;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
200 ---- 服务器成功返回网页请求
301 ---- 永久跳转(死循环)
403 ---- 禁止访问
404 ---- 服务器找不到客户端请求的指定页面
500 ---- 内部服务错误
502 ---- 坏的网关
503 ---- 服务当前不可用
504 ---- 网关超时
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
二、控制客户端请求Nginx的速率
ngx_http_limit_req_module模块用于限制每个IP访问每个定义key的请求速率.
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
#以请求的客户端IP作为key值,内存区域命名为one,分配10m内存空间,访问速率限制为1秒1次请求(request)
limit_req zone=one burst=5;
#使用前面定义名为one的内存空间,队列值为5,即可以有5个请求排队等待
最后
以上就是美满乌冬面为你收集整理的企业级Nginx Web服务优化(限制网站来源IP访问)的全部内容,希望文章能够帮你解决企业级Nginx Web服务优化(限制网站来源IP访问)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复