网站首页 > 技术教程 正文
在前面我们只是就配置文件进行了一个解说,但是没有结合实例,看一遍可能很难记住。
这一章就结合实例来看下通过修改配置文件,实现简单的防火墙功能。
这个功能的实现依靠nginx的access模块,这个模块在我们编译nginx时会默认编译进nginx的二进制文件中。
语法:
Syntax:	allow address | CIDR | unix: | all;
Default:	—
Context:	http, server, location, limit_except
Syntax:	deny address | CIDR | unix: | all;
Default:	—
Context:	http, server, location, limit_exceptallow: 允许访问的IP或者网段。
deny: 拒绝访问的ip或者网段。
从语法上看,它允许配置在http指令块中,server指令块中还有locatio指令块中,这三者的作用域有所不同。
如果配置在http指令块中,将对所有server(虚拟主机)生效;
配置在server指令块中,对当前虚拟主机生效;
配置在location指令块中,对匹配到的目录生效。
ps: 如果server指令块,location指令块没有配置限制指令,那么将会继承http的限制指令,但是一旦配置了会覆盖http的限制指令。或者说作用域小的配置会覆盖作用域大的配置。
实例一:
在http指令块下配置单ip限制;
http {
    include       mime.types;
    default_type  application/octet-stream;
    #限制10.10.10.14这个ip访问
    deny 10.10.10.14;
    ...
}ps: 配置完记得重载配置文件。
/usr/local/nginx/sbin/nginx -s reload在10.10.10.14机器上访问:
在自己服务上访问:
[root@localhost ~]# curl -I 10.10.10.17
HTTP/1.1 200 OK
Server: nginx/1.16.0
Date: Mon, 22 Jul 2019 02:24:19 GMT
Content-Type: text/html可以看到只对14这个ip生效了,如果有配置虚拟主机,那么这个ip将都不能访问。因为现在还没讲到虚拟主机,所以先不配置了。
如果想让整个网段都不能访问呢?只需要将这个ip改为网段即可。
http {
    include       mime.types;
    default_type  application/octet-stream;
    #将ip改为网段
    deny 10.10.10.0/24;
    ...
}在自己服务器上访问;
[root@localhost ~]# curl -I 10.10.10.17
HTTP/1.1 403 Forbidden
Server: nginx/1.16.0在10.10.10.14机器上访问:
可以看到都不能访问了,对整个网段的限制已生效。
实例二:
在server指令块配置,配置方法都是一样的,只是作用范围不同。
 server {
        listen       80;
        server_name  localhost;
        deny 10.10.10.14;
        ...
    }在自己服务器上访问:
[root@localhost ~]# curl -I 10.10.10.17
HTTP/1.1 200 OK
Server: nginx/1.16.0
Date: Mon, 22 Jul 2019 02:45:06 GMT在10.10.10.14机器上访问:
限制网段同上,这里就不再演示了。
实例三:
在location指令块配置访问控制。这种配置是最多的,因为有时候我们要限制用户对某些文件或者目录的访问,这些文件通常是比较重要的或者私密的。
location /secret {
                deny 10.10.10.14;
        }
创建目录以及测试文件:
[root@localhost ~]# mkdir -p /usr/local/nginx/html/secret
[root@localhost ~]# echo "this is secret" > /usr/local/nginx/html/secret/index.html在本机访问:
[root@localhost ~]# curl 10.10.10.17/secret/index.html
this is secret
在10.10.10.14上访问该目录资源会被拒绝:
白名单设置:
现在我们讲到的都是限制某个IP或者网段,这些形式是黑名单式的,默认放行,指定的ip或者网段被限制。但如果你搭建的服务只针对于某些IP或者网段开放,那么可以使用白名单设置,默认拒绝,指定的放行。
实例:
location /secret {
                allow 10.10.10.14;
                deny all;
        }在本机访问:
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# curl 10.10.10.17/secret/index.html
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.16.0</center>
</body>
</html>在10.10.10.14上访问:
可以看到,现在只有14可以访问了,连本机都被拒绝了。因为我们只放行了14这个IP。
欢迎点赞,收藏,你的喜欢就是我原创的动力,nginx系列我将会持续更新。
猜你喜欢
- 2024-10-09 Nginx实现高可用(一)——干货(nginx如何实现高可用)
- 2024-10-09 MAMP部署项目报403和404错误,如何解决?
- 2024-10-09 网站服务器租用预防CC攻击的方法(网站服务器租赁需要什么手续)
- 2024-10-09 Nginx防盗链(nginx防盗链 referer)
- 2024-10-09 触类旁通,从502错误看Nginx常见故障与修复
- 2024-10-09 使用 Nginx 一定要用好 444 状态码
- 2024-10-09 渗透测试中403/401页面绕过的思路
- 2024-10-09 Nginx-包教包会-进阶(nginx详细教程)
- 2024-09-10 16《Nginx 入门教程》Nginx防盗链配置
- 2024-09-10 《前端运维》二、Nginx-3静态资源服务、跨域与其他
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
- 
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
 
- 标签列表
- 
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
 

本文暂时没有评论,来添加一个吧(●'◡'●)