Nginx 模块
安装编译参数以及作用
编译选项 | 作用 |
---|---|
--with-http_stub_status_module | Nginx 的客户端状态 |
--with-http_random_index_module | 目录中选择一个随机主页 |
--with-http_sub_module | HTTP内容替换 |
http_stub_status_module配置
Syntax: stub_status;
Default: --
Context: server, location
在/etc/nginx/vhost/test.conf
中加上
.
.
.
location /test {
stub_status;
}
.
.
.
重启nginx
systemctl restart nginx
在/etc/hosts
文件中加上
127.0.0.1 test.test
image.png
第一行:表示当前活跃的连接数
第二行:1、nginx处理接受的握手次数,2、nginx所处理的连接数,3、总的请求数
//正常的话,握手数和连接数相等,表示数据没有丢失
第三行:状态:1、读, 2、写, 3、等待
random_index_module配置
Syntax: random_index on | off;
Default: random_index off;
Context: location
.
.
.
location / {
root /home/chase/test;
random_index on;
}
.
.
.
http_sub_module配置
Syntax: sub_filter string replacement;
Default: --
Context: http, server, location
Syntax: sub_filter_last_modified on | off;
Default: sub_filter_last_modified off;
Context: http, server, location
Syntax: sub_filter_once on | off;
Default: sub_filter_once on;
Context: http, server, location
Nginx的请求限制
连接频率限制 - limit_conn_module
请求频率限制 - limit_req_module
http协议的连接与请求
HTTP协议版本 | 连接关系 |
---|---|
HTTP1.0 | TCP不能复用 |
HTTP1.1 | 顺序性TCP复用 |
HTTP2.0 | 多路复用TCP复用 |
HTTP请求建立在一次TCP连接基础上
一次TCP请求至少产生一次HTTP请求
连接限制配置语法
Syntax: limit_conn_zone key zone=name:size;
Default: --
Context: http
Syntax: limit_conn_zone number;
Default: --
Context: http, server, location
请求限制配置语法
Syntax: limit_req_zone key zone=name:size rate=rate;
Default: --
Context: http
Syntax: limit_req_zone=name [burst=number][nodelay];
Default: --
Context: http, server, location
Nginx的访问控制
http_access_module配置
//允许
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_except
解决http_access_modules局限性
方法一:采用别的HTTP头信息控制访问,如:HTTP_X_FORWARD_FOR
方法二:结合geo模块作
方法三:通过HTTP自定义变量传递
http_x_forwarded_for配置
http_x_forwarded_for = Client IP, Proxy(1) IP, Proxy(2) IP, ...
http_auth_basic_module配置
Syntax: auth_basic string | off;
Default: auth_basic off;
Context: http, server, location, limit_except
Syntax: auth_basic_user_file file;
Default: --
Context: http, server, location, limit_except
局限性
一:用户信息依赖文件方式
二:操作管理机械,效率低下
解决方案
一:Nginx结合LUA实现高效验证
二:Nginx和LDAP打通,利用nginx-auth-ldap模块
网友评论