美文网首页
Nginx基础配置

Nginx基础配置

作者: 在牛魔角上狂码 | 来源:发表于2018-12-24 23:36 被阅读0次

    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模块
    

    相关文章

      网友评论

          本文标题:Nginx基础配置

          本文链接:https://www.haomeiwen.com/subject/vgbtlqtx.html