1. HTTP 过滤模块ngx_http_not_modified_module仅对 HTTP 头部做处理。在返回 200 成功时,根据请求中 If-Modified-Since 或者 If-Unmodified-Since 头部取得浏览器缓存文件的时间,再分析返回用户文件的最后修改时间,以此决定是否直接发送 304 Not Modified 响应给用户。ngx_http_range_body_f
文章目录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过滤模块就是对响应内容进行再加工处理的。所以实际上过
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阅读
与HTTP处理模块不同。HTTP过滤模块的工作是对发送给用户的HTTP响应做一些加工。server返回的一个响应能够被随意多个HTTP过滤模块以流水线的方式依次处理。HTTP响应分为头部和包,ngx_http_send_header和ngx_http_output_filter函数分别负责发送头部和包。它们会依次调用各个过滤模块对待发送的响应进行处理。 HTTP过滤模块能够单独处理响应的头部或
转载 2024-03-18 15:40:27
199阅读
最近实际开发过程中,发现部分服务资源访问503 Service Temporarily Unavailable,查找后证实是在对nginx做了限速以后,限速做的太低了超过访问次数直接拒绝访问返回503错误。nginx 可以使用ngx_http_limit_req对服务器资源请求进行限制。该模块使用漏斗算法(Leaky Bucket),该算法有两种处理方式Traffic Shaping和Traffi
转载 2024-02-25 22:58:39
133阅读
一、一处“鸡肋”的反射XSS 上月,遇到一处有趣的XML接口,使用POST方式发送如下请求时: POST /query HTTP/1.1 Host: api.demo.com Content-Type: application/xml <xml><vulnerable>2019<ScRiPt>alert(1)</ScRiPt></vuln
一.日志查看#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
        nginx服务器给客户端发送响应时,包括http响应头部、http响应包体内容。可以调用http框架提供的两个函数ngx_http_send_header,ngx_http_output_filter,分别用于给客户端发送http响应头部、http响应包。这两个函数会调用各个过滤器模块,对将要发送给客户端的响应头部、响应包进行过滤处理。例
上一篇文章我写了 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
前言 看了几天Nginx的访问第三方服务,大概的内容知道了,包括使用upstream以及subrequest,实质就是Nginx作为反向代理服务器。按照书中方法把代码实现了一遍,但是不知道根本,不知道怎么运行结果,原因就是对代码不熟,暂时决定放弃这一章的梳理与总结,直接跳到简单过滤模块的开发这一章学习,之后再返回来看。 HTTP过滤模块为什么要使用过滤模块 HTTP过滤模块
转载 2024-03-26 10:42:39
84阅读
接《nginx配置(一)》10.HTTP 包只存储到磁盘文件中语法:client_body_in_file_only onlcleanloff;默认:client_ body_ in file only off;配置块: http 、server 、location 。说明: 当值为非off 时, 用户请求的HTTP 包都会存储到文件中,即使只有0 字节也会保存为文件。当请求结束时,如果配置为
前言前两篇介绍了Gateway的简单用法,今天老顾分享一些Gateway的高阶知识点。注册中心在微服务中,如商品服务,肯定是集群部署的。那Gateway怎么路由到多个商品服务呢?还有服务注册中心里面往往注册了很多服务,如果每个服务都需要单独配置的话,这将是一份很枯燥的工作。Gateway 提供了一种默认转发的能力,只要将Gateway 注册到服务中心,Gateway 默认就会代理服务中心的所有服务
上一篇文章我写了 Nginx 的 11 个阶段,很多人都说太长了。这是出于文章完整性的考虑的,11 个阶段嘛,一次性说完就完事了。今天这篇文章比较短,看完没问题。过滤模块的位置之前我们介绍了 Nginx 的 11 个阶段,在 content 阶段时,Nginx 会生成返回给用户的响应内容,对用户的响应内容,实际上还需要做再加工处理,Nginx过滤模块就是对响应内容进行再加工处理的。所以实际上过
文章目录过滤模块简介执行时间和内容执行顺序Nginx是怎么按照次序依次来执行各个过滤模块的呢这些过滤模块的简述(按执行顺序)模块编译过滤模块分析相关结构响应头过滤函数响应过滤函数主要功能介绍发出子请求优化措施 过滤模块简介执行时间和内容过滤模块是过滤响应头和内容的模块。它工作在获取回复内容之后,向用户发送响应之前。它的处理过程分为两个阶段,过滤HTTP回复的头部和主体,在这两个阶段可以分别对
转载 2024-02-24 23:39:21
107阅读
在使用Nginx做代理服务器的过程中,我们有时会遇到需要临时保存一些较大的数据流或文件的情况。这时,proxy_max_temp_file_size这个参数就变得非常重要。一个容易忽略的问题,从Nginx代理的服务器上下载文件时,小于1G的文件可以正常下载,当文件大于1G的时候,下载到1G就突然提示网络失败。本文将详细介绍这个问题的处理过程,对应参数的默认值、最大设置值以及如何进行设置。我们先了解
转载 2024-08-03 23:02:30
1870阅读
过滤模块简介 (90%) 执行时间和内容 (90%)过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理。它的处理时间在获取回复内容之后,向用户发送响应之前。它的处理过程分为两个阶段,过滤HTTP回复的头部和主体,在这两个阶段可以分别对头部和主体进行修改。在代码中有类似的函数: ngx_http_top_header_filter(r); ngx_http
上节说到nginx核心本身不会主动读取请求,这个工作是交给请求处理阶段的
转载 2014-12-21 21:38:00
428阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5