一、一处“鸡肋”的反射XSS 上月,遇到一处有趣的XML接口,使用POST方式发送如下请求时: POST /query HTTP/1.1
Host: api.demo.com
Content-Type: application/xml
<xml><vulnerable>2019<ScRiPt>alert(1)</ScRiPt></vuln
转载
2024-02-26 16:48:44
53阅读
最近实际开发过程中,发现部分服务资源访问503 Service Temporarily Unavailable,查找后证实是在对nginx做了限速以后,限速做的太低了超过访问次数直接拒绝访问返回503错误。nginx 可以使用ngx_http_limit_req对服务器资源请求进行限制。该模块使用漏斗算法(Leaky Bucket),该算法有两种处理方式Traffic Shaping和Traffi
转载
2024-02-25 22:58:39
133阅读
一.日志查看#tail -f access.log
# tail -f logs/www_mrliangqi.log
91.200.12.90 - - [12/May/2016:14:30:44 +0800] "POST /wp-comments-post.php HTTP/1.0" 500 3294 "http://www.mrliangqi.com/516.html" "Mozilla/5.0
转载
2024-05-24 13:23:35
260阅读
nginx服务器给客户端发送响应时,包括http响应头部、http响应包体内容。可以调用http框架提供的两个函数ngx_http_send_header,ngx_http_output_filter,分别用于给客户端发送http响应头部、http响应包体。这两个函数会调用各个过滤器模块,对将要发送给客户端的响应头部、响应包体进行过滤处理。例
转载
2024-02-24 19:09:04
428阅读
前言
看了几天Nginx的访问第三方服务,大概的内容知道了,包括使用upstream以及subrequest,实质就是Nginx作为反向代理服务器。按照书中方法把代码实现了一遍,但是不知道根本,不知道怎么运行结果,原因就是对代码不熟,暂时决定放弃这一章的梳理与总结,直接跳到简单过滤模块的开发这一章学习,之后再返回来看。
HTTP过滤模块为什么要使用过滤模块
HTTP过滤模块
转载
2024-03-26 10:42:39
84阅读
上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了。这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了。今天这篇文章比较短,看完没问题。过滤模块的位置之前我们介绍了 Nginx 的 11 个阶段,在 content 阶段时,Nginx 会生成返回给用户的响应内容,对用户的响应内容,实际上还需要做再加工处理,Nginx 的过滤模块就是对响应内容进行再加工处理的。所以实际上过
转载
2024-03-28 12:36:29
203阅读
一、Nginx的HTTP过滤模块特征一个请求可以被任意个HTTP模块处理;HTTP过滤模块仅处理服务器发送到客户端的响应,而不处理客户端发往服务器的HTTP请求。 多个过滤模块的顺序的形成以及Nginx自带的过滤模块请参考原书。 二、编写一个HTTP过滤模块 以向返回给用户的文本格式响应包体前加一段字符串"[my filter prefix]"为例,展示如何编写一个HTT
转载
2024-04-07 12:25:39
86阅读
前言前两篇介绍了Gateway的简单用法,今天老顾分享一些Gateway的高阶知识点。注册中心在微服务中,如商品服务,肯定是集群部署的。那Gateway怎么路由到多个商品服务呢?还有服务注册中心里面往往注册了很多服务,如果每个服务都需要单独配置的话,这将是一份很枯燥的工作。Gateway 提供了一种默认转发的能力,只要将Gateway 注册到服务中心,Gateway 默认就会代理服务中心的所有服务
转载
2024-06-17 07:20:36
144阅读
auth:农夫-Benemail:szjava#126.com(请把#换成@)blog:
本文介绍nginx的过滤模块,主要为过滤模块的处理流程。
nginx各过滤模块的定义:
ngx_http_not_modified_filter_module
默认打开,如果请求的if-modified-since等于回复的last-modified间值,说明回复没有变化,清空
转载
2024-03-22 21:04:22
150阅读
1.nginx查日志脚本首先查看日志每个值对应的意思,根据这个去查请求的ip地址 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
转载
2024-04-30 14:52:51
27阅读
上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了。这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了。今天这篇文章比较短,看完没问题。过滤模块的位置之前我们介绍了 Nginx 的 11 个阶段,在 content 阶段时,Nginx 会生成返回给用户的响应内容,对用户的响应内容,实际上还需要做再加工处理,Nginx 的过滤模块就是对响应内容进行再加工处理的。所以实际上过
转载
2024-02-29 11:02:30
137阅读
1. HTTP 过滤模块ngx_http_not_modified_module仅对 HTTP 头部做处理。在返回 200 成功时,根据请求中 If-Modified-Since 或者 If-Unmodified-Since 头部取得浏览器缓存文件的时间,再分析返回用户文件的最后修改时间,以此决定是否直接发送 304 Not Modified 响应给用户。ngx_http_range_body_f
转载
2024-03-25 15:22:59
19阅读
文章目录1、过滤模块的概念2、过滤模块原理2.1、过滤链表2.2、执行顺序3、过滤模块的实现3.1、编写模块结构3.1.1、模块配置结构3.1.2、模块配置命令3.1.3、模块上下文3.1.4、定义模块3.2、设置响应头3.3、设置响应体3.4、编译测试3.5、完整代码4、参考 nginx 模块的实现流程初始化conf 文件请求处理的流程1、过滤模块的概念过滤模块是一种 http 模块,一个请求
转载
2024-03-25 15:37:21
136阅读
上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了。这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了。今天这篇文章比较短,看完没问题。过滤模块的位置之前我们介绍了 Nginx 的 11 个阶段,在 content 阶段时,Nginx 会生成返回给用户的响应内容,对用户的响应内容,实际上还需要做再加工处理,Nginx 的过滤模块就是对响应内容进行再加工处理的。所以实际上过
转载
2024-03-27 10:58:00
20阅读
文章目录过滤模块简介执行时间和内容执行顺序Nginx是怎么按照次序依次来执行各个过滤模块的呢这些过滤模块的简述(按执行顺序)模块编译过滤模块分析相关结构体响应头过滤函数响应体过滤函数主要功能介绍发出子请求优化措施 过滤模块简介执行时间和内容过滤模块是过滤响应头和内容的模块。它工作在获取回复内容之后,向用户发送响应之前。它的处理过程分为两个阶段,过滤HTTP回复的头部和主体,在这两个阶段可以分别对
转载
2024-02-24 23:39:21
107阅读
过滤模块简介 (90%) 执行时间和内容 (90%)过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理。它的处理时间在获取回复内容之后,向用户发送响应之前。它的处理过程分为两个阶段,过滤HTTP回复的头部和主体,在这两个阶段可以分别对头部和主体进行修改。在代码中有类似的函数: ngx_http_top_header_filter(r);
ngx_http
转载
2024-04-28 14:39:43
689阅读
关于nginx负载均衡策略配置,可参考nginx 负载均衡策略从nginx 1.9.13开始,默认情况下不重试非幂等请求(PUT、POST等),当在配置中增加失败重试配置时,如果后端服务器响应超时,Get请求会重新选择一台上游服务器进行重试,而POST请求则会返回504 Gateway Time-out,不会进行重试。可使用以下两种方式处理POST请求失败重试问题方式1想在1.9.13或更高版本上
转载
2024-02-24 09:19:39
76阅读
与HTTP处理模块不同。HTTP过滤模块的工作是对发送给用户的HTTP响应做一些加工。server返回的一个响应能够被随意多个HTTP过滤模块以流水线的方式依次处理。HTTP响应分为头部和包体,ngx_http_send_header和ngx_http_output_filter函数分别负责发送头部和包体。它们会依次调用各个过滤模块对待发送的响应进行处理。
HTTP过滤模块能够单独处理响应的头部或
转载
2024-03-18 15:40:27
199阅读
nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文。nginx的缓存数据结构:共享内存:存储键和缓存对象元数据磁盘空间:存储数据 用法:Syntax: proxy_cache_pathpath [levels=levels] [use_temp_path=on|off] keys_zone=name:size [in
4.1.剖析头部过滤函数头部过滤函数由下面三个基础部分组成:1. 决定是否操纵这个回复2. 操纵这个回复3. 调用下一个过滤函数举个例子,这里有一个简单版本的“没有修改过的”头部过滤函数。如果客户端的If-Modfied-Since头部与回复的Last-Modified头部匹配,就把状态设为 304 Not Modified。头部过滤函数只有一个参数ngx_http_request_t,但它可以让
转载
2024-02-23 23:28:51
61阅读