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,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!