您的位置 首页 nginx

2Nginx常用模块介绍

模块1: nginx访问模块

2Nginx常用基础模块(原)

1.autoindex模块以列表方式显示目录
配置:
server {
listen 80;
server_name www.download.com;
root /code/1;
auto index; # 开启列表方式访问
charset utf-8,gbk; # 字符集
autoindex_exact_size off; # 以KB MB GB方式显示文件大小
autoindex_localtime on; # 以本地文件时间为准 在页面上显示

}

注意: 需要删除/code/1下面的index.html

模块二: nginx stbu_status状态模块 # 重要 7个值

Active connections: 2
server accepts handled requests
10 10 16
Reading: 0 Writing: 1 Waiting: 1

ngx_http_stub_status_module模块提供对基本状态信息的访问。
默认情况下不构建此模块,应使用--with-http_stub_status_module配置参数启用它

配置:

server {
    listen 80;
    server_name test.com;
    access_log off;

    location /nginx_status {
        stub_status;
    }
}

 

Active connections  # 当前活动的连接数
accepts             # 已接收T的总TCP连接数量
handled             # 已处理的TCP连接数量
requests            # 当前http请求数

Reading             # 当前读取请求头数量
Writing             # 当前响应的请求头数量
Waiting             # 等待的请求数,开启了keepalive

# 注意, 一次TCP的连接,可以发起多次http的请求, 如下参数可配置进行验证
keepalive_timeout  0;   # 类似于关闭长连接
keepalive_timeout  65;  # 65s没有活动则断开连接

Nginx访问控制

基于IP的访问控制 http_access_module
基于用户登陆认证 http_auth_basic_module

nginx基于IP的访问控制

1)访问控制配置示例,拒绝指定的IP,其他全部允许

server {
    listen 80;
    server_name module.baimei.com;
    access_log off;

    location /nginx_status {
        stub_status;
        deny 10.0.0.1;
        allow all;   
    }
}

2) 访问控制配置示例, 只允许谁能访问, 其它全部拒绝

server {
    listen 80;
    server_name module.baimei.com;
    access_log off;

    location /nginx_status {
        stub_status;
        allow   10.0.0.0/24;
        allow   127.0.0.1;
        deny    all;
    }
}

 

Nginx基于用户登陆认证

1)基于用户登陆认证配置语法

#访问提示字符串
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

2)基于用户登陆认证配置实践


#1.需要安装httpd-tools,该包中携带了htpasswd命令
[root@web01 ~]# yum install httpd-tools
#2.创建新的密码文件, -c创建新文件 -b允许命令行输入密码
[root@web01 ~]# htpasswd -b -c /etc/nginx/auth_conf baimei baimei

#3.nginx配置调用
server {
    listen 80;
    server_name module.baimei.com;
    access_log off;

    location /nginx_status {
        stub_status;
        auth_basic "Auth access Blog Input your Passwd!";
        auth_basic_user_file auth_conf;
    }
}

Nginx访问限制

在企业中经常会遇到这种情况,服务器流量异常,负载过大等等。对于大流量恶意的攻击访问, 会带来带宽的浪费,服务器压力,影响业务,往往考虑对同一个ip的连接数,请求数、进行限制。

ngx_http_limit_conn_module模块可以根据定义的key来限制每个键值的连接数,如同一个IP来源的连接数。

limit_conn_module 连接频率限制

limit_req_module 请求频率限制

Nginx连接限制配置实战

 

知识点小结:
1.访问控制模块 了解
2.状态模块: stub_status Nginx7种状态 重点
3.安全限制模块: 了解
allow
deny
4.安全访问验证: auth_basic 了解
5.限制TCP连接请求: limit_conn # 懂
6.限制请求数链接: limit_req # 懂
7.location 匹配规则 面试点(背过)
= 优先级最高
^~
~
~*
/data
/

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章