网站首页 > 精选文章 / 正文
在一个请求闯过之前的postread阶段,rewrite阶段,find_config阶段,preaccess阶段后终于来到了Access阶段了。
Access阶段主要就是控制请求是否可以继续向下访问的。
在这个阶段第一个要经过的就是Access模块。
想对IP 进行访问控制?可以在Access模块 控制哪些IP可以访问一些URL,哪些IP不可以访问一些URL。
生效阶段:NGX_HTTP_ACCESS_PHASE阶段
模块:http_access_module
生效范围:进入access阶段前不生效。也就是说虽然你限制了某ip的访问,但是前面的limit_conn,limit_req还是会生效的。
默认编译进Nginx的,如果不想编译进Nginx,可以通过
--without-http_access_module来禁用该模块。
语法: allow $ip | CIDR | unix:|all;
上下文:HTTP,server,location,limit_except
语法: deny $ip | CIDR | unix:|all;
上下文:HTTP,server,location,limit_except
示例:
location / {
deny 192.168.1.1; // 拒绝某个ip的访问
allow 192.168.1.0/24; // 允许一段地址的访问
allow 2001:0db8::/32; // 还可以跟IPv6的格式
deny all; // 拒绝所有
}
需要注意的是 这几条里是顺序执行的,当满足到其中一条就会break了。
Access模块是一种非常简单地控制用户访问的一种方法。对于我们控制一些服务的访问却是非常有用的。
你学废了吗?
Tags:nginx限制文件大小
- 上一篇:nginx配置文件详解
- 下一篇:Nginx常见问题
猜你喜欢
- 2025-05-14 docker安装nginx搭建简单文件共享服务
- 2025-05-14 【终极指南】Nginx命令行参数完全解析
- 2025-05-14 nginx作用及其配置
- 2025-05-14 写给运维的Nginx秘籍
- 2025-05-14 【Nginx进阶】Nginx安全配置
- 2025-05-14 Nginx常见问题
- 2025-05-14 nginx配置文件详解
- 2025-05-14 修改配置nginx限制无良爬虫频率
- 2025-05-14 nginx限制php程序“跨站”访问
- 2025-05-14 Nginx限流配置详解