location / {if($request_method!~ ^(GET|POST)$ ) {return403; } ... } 效果:使用PUT等非GET/POST方法 二,modsecurity配置: 只允许get/post方法访问 配置规则: SecRule REQUEST_METHOD"!^(?:GET|POST)$""phase:1,id:2049,log,deny,t:none" 非get/post方法访问,例如:使用了PUT方法时,返回 403 For...
if ($request_method ~ ^(GET|POST)$ ){proxy_pass http://10.10.239.31:81;} 不转发POST请求 if ($request_method!~^(POST)$ ){proxy_pass http://10.10.239.31:81;} PUT请求返回400 if ($request_method!~^(PUT)$ ){return 400;} 2. 完整示例 示例设计 nginx设置两个service 80端口显示 “por...
也可以在lua中使用ngx.req.get_body_data()、ngx.req.get_post_args()来获取post请求体数据(同样get的为空),二者的区别:前者返回字符串,后者返回table结构(key是参数名,value是参数值)。 注:对于post的请求,我们无法通过$arg_XXX这种方式获取参数值; 注:对于post请求,get_body_data()和get_post_args()这...
$request_completion #如果请求结束,设置为OK. 当请求未结束或如果该请求不是请求链串的最后一个时,为空(Empty)。 $request_method #GET或POST $request_filename #当前请求的文件路径,由root或alias指令与URI请求生成。 $request_uri #包含请求参数的原始URI,不包含主机名,如:”/foo/bar.php?arg=baz”。不...
location/request_body{proxy_pass http://localhost:8001;} 注意哦,这是我们随便代理的,8001 是不存在的,因此直接访问这个页面是会报错的。接下来,用 Postman 发送一个 Post 请求,使用哪种参数形式都可以,这里我使用的是 raw 。 请求之后,就可以看到 Nginx 的运行目录下多了个 client_body_temptest 目录,进去...
if ($request_method !~* GET|POST) { return 403; } ... } 下面这个代码就是屏蔽非GET、POST类型请求,返回XXX状态码。 if ($request_method !~* GET|POST) { return 403; } 或者 if ($request_method !~ ^(GET|POST)$ ) { return 403; ...
$request_method 请求的方法,GET、POST等 $scheme 请求的协议,如ftp,http,https $server_protocol 客户端请求资源用的协议的版本,如HTTP/1.0,HTTP/1.1,HTTP/2.0 $server_addr 服务器ip地址 $server_name 服务器的主机名 $server_port 服务器的端口号 ...
客户端请求类型,如 GET、POST
$request_method 存放了客户端的请求方式,如 get,post 等 $request_filename 存放当前请求的资源文件的路径名 $requset_uri 当前请求的 uri,并且带有指令 $query_string $args含义相同 $scheme 客户端请求使用的协议,如 http, https, ftp 等 $server_protocol 客户端请求协议的版本,如”HTTP/1.0”, ”HTTP/1....
ngx_int_t ngx_http_arg(ngx_http_request_t *r, u_char *name, size_t len, ngx_str_t *...