见ngx_http_file_cache_set_slotngx_array_t*caches;//u->caches = &ngx_http_proxy_main_conf_t->caches;#endif/*HTTP模块在实现process_header方法时,如果
ngx_int_tngx_http_compile_complex_value(ngx_http_compile_complex_value_t*ccv);//将带变量的配置项求值,常在运行阶段调用//r,val为入参,val通过ngx_http_compile_complex_value()获得//value为出参,即求值后的具体值。ngx_int_tngx_http_complex_value(ngx_http_request_t*r,ngx_http_complex_value_...
ngx_msec_theader_time; ngx_msec_tqueue_time; off_tresponse_length; off_tbytes_received; off_tbytes_sent; ngx_str_t*peer; }ngx_http_upstream_state_t; typedefstruct{ ngx_hash_theaders_in_hash; ngx_array_tupstreams; /*ngx_http_upstream_srv_conf_t*/ ...
static ngx_command_t ngx_http_auth_basic_commands[] = { { ngx_string("auth_basic"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LMT_CONF |NGX_CONF_TAKE1, ngx_http_set_complex_value_slot, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_auth_basic_loc_conf_t, r...
ngx_http_reqstat把对应的req_status_zone配置相应的共享内存: static char * ngx_http_reqstat(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) { ... // 这块是从ngx_conf_handler中取出来的配置,按理说我们配置里面都把ngx_http_reqstat放在http下面,应该也是main conf ngx_http_reqstat_conf_t *...
ngx_http_variable_value_t *v, uintptr_t data); static ngx_int_t ngx_http_upstream_cache_etag(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data); #endif static void ngx_http_upstream_init_request(ngx_http_request_t *r); static void ngx_http_upstream_resolve_ha...
ngx_http_complex_value_t key; /* about limit_req_zone */ ngx_http_limit_req_node_t *node; /* point to one node in red-black tree */ } ngx_http_limit_req_ctx_t; 该结构体存放根据limit_req_zone指令创建的共享内存的相关上下文信息。其中 ...
一、ngx_http_request_t结构体解释 structngx_http_request_s { uint32_t signature; /* "HTTP" */ /* 与连接有关的内容 */ ngx_connection_t * connection; /* 以下四个保存的是模块所对应的上下文结构体的指针。 其中ctx对应于自定义的上下文结构体指针 ...
ngx_http_handler_pt content_handler; //在NGX_HTTP_ACCESS_PHASE节点需要判断请求是否具有访问权限时,通过access_code来传递http模块的handler回调方法的返回值,如果为0表示具备权限。否则不具备。 ngx_uint_t access_code; ngx_http_variable_value_t *variables; ...
// * ngx_http_request_body_t // * ngx_http_request_s /* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc.*/ #ifndef _NGX_HTTP_REQUEST_H_INCLUDED_ #define _NGX_HTTP_REQUEST_H_INCLUDED_ // nginx不允许无限改写uri跳转,最多10次 // 检查在ngx_http_core_post_rewrite_...