Nginx的常用模块说明
nginx有很多的模块可以使用,每个模块都有自己的特定的功能; 如果想要掌握好,就一点点的测试,其实也花了很多的时间整理这些笔记; 学习&分享:开始了~!
access模块讲解
1、access模块
访问控制模块 ,该模块可以实现简单的防火墙功能,过滤特定的主机。
这个模块可以在预编译的时间进行编译
access结构如下:
#allow允许,允许访问的IP或者网段。
语法: allow IP地址、网段、或者是全部
作用范围: http server location limit_execpt
#deny 拒绝;拒绝访问的ip或者网段
语法: allow IP地址、网段、或者是全部
作用范围: http server location limit_execpt
备注:
- 它允许配置在http指令块中,server指令块中还有locatio指令块中,这三者的作用域有所不同
- 配置在http指令段中,将对所有server(虚拟主机)生效
- 配置在location指令块中,对匹配到的目录生效
ps: 如果server指令块,location指令块没有配置限制指令,那么将会继承http的限制指令,但是一旦配置了会覆盖http的限制指令。 作用域小的配置会覆盖作用域大的配置。
2、access模块在http指令块的配置
首先对默认的页面进行一个修改,简单点
#修改默认页面
[root@Linux2 ~]# echo "this is liangjiawei-web-主页" > /usr/local/nginx/html/index.html
[root@Linux2 ~]# cat !$
cat /usr/local/nginx/html/index.html
this is liangjiawei-web-主页
#然后使用另外一台服务器进行访问-->成功
[root@Linux3 ~]# curl 192.168.75.72
this is liangjiawei-web-主页
对于单个ip进行限制
- 在http指令块下配置单IP限制
#配置单ip限制:
#修改配置文件->在http指令块中添加
[root@Linux2 ~]# vim /usr/local/nginx/conf/nginx.conf
.........
17 http {
18 include mime.types;
19 default_type application/octet-stream;
20 deny 192.168.75.73; #添加这一行,拒绝73服务器访问
......
- 测试:
- 测试前需要重载配置文件
- 一旦设置了,.73的服务器都不能访问web服务的所有资源;包括其他的虚拟主机
#重载配置文件-->71服务器端 操作
[root@Linux2 ~]# nginx -s reload
#在本地访问成功;
[root@Linux2 ~]# curl 192.168.75.72
this is liangjiawei-web-主页
#再使用73客户机访问-->失败
[root@Linux3 ~]# curl 192.168.75.72
<html>
<head><title>403 Forbidden</title></head>
..........
- 对于整个网段进行设置
- deny + 网段
#服务器配置
[root@Linux2 ~]# vim /usr/local/nginx/conf/nginx.conf
.......
17 http {
18 include mime.types;
19 default_type application/octet-stream;
20 deny 192.168.75.0/24; #这里附带上掩码
#重载配置文件
[root@Linux2 ~]# nginx -s reload
#测试:
#本地访问
[root@Linux2 ~]# curl 192.168.75.72
<html>
<head><title>403 Forbidden</title></head>
#客户端访问
[root@Linux3 ~]# curl 192.168.75.72
<html>
<head><title>403 Forbidden</title></head>
..........
3、access模块在server指令块的配置
配置方案是一样的,只不过作用域不同
- 对于单IP 进行访问
#同样的修改配置文件
#在server下作deny配置
[root@Linux2 nginx]# vim conf/nginx.conf
.......
server {
listen 80;
server_name localhost;
deny 192.168.75.73; # 这里拒绝73的客户端访问
.........
#重载配置文件测试
[root@Linux2 nginx]# nginx -s reload
#本地访问:
[root@Linux2 nginx]# curl 192.168.75.72
this is liangjiawei-web-主页
#73客户端访问:
[root@Linux3 ~]# curl 192.168.75.72
<html>
<head><title>403 Forbidden</title></head>
............
限制网段的操作就不列举了;是一样的操作 分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:💕立志要成为一名架构师
- 不断地去坚持学,其中的各种各样的难度,不言而喻~!
- 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!
如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!