- 【充电】《Nginx核心知识100讲》precontent阶段:
- 【充电】《Nginx核心知识100讲》 preaccess阶段
- 【充电】《Nginx核心知识100讲》postread阶段:获取
- 【充电】《Nginx核心知识100讲》 access 阶段:i
- 【充电】《Nginx核心知识100讲》content阶段:sta
- 【充电】《Nginx核心知识100讲》content阶段:ind
- 【充电】《Nginx核心知识100讲》nginx模块
- 【充电】《Nginx核心知识100讲》 rewrite阶段的re
- 【充电】《Nginx核心知识100讲》 rewrite阶段的re
- 【充电】《Nginx核心知识100讲》Log阶段:index模块
极客专栏《Nginx核心知识100讲》61~62小节,笔记
注意:这个是看专栏视频,敲的哈。这个专栏让我收货蛮大的。
61 | precontent阶段:按序访问资源的try_files模块
这个模块只提供一个try_files指令,这个指令对我们使用反向代理,非常有帮助。
try_files 指令

这个try_files 模块是默认编译到nginx模块。try_files 两种用法。

/first 里面配置try_files依次匹配。/second里面如果匹配不到就报404。
我们经常在搭wordpress的时候,会用到try_files。try_ifles对反向代理场景非常有用。我们可以尝试在nginx上获取磁盘内容,如果没有整个文件,我们再反向代理到上游服务。
62 | 实时拷贝流量:precontent阶段的mirror模块
镜像模块可以帮我们创造一份镜像流量,比如生产环境中,我们处理一些请求,这些请求可能我们需要同步的copy一份到我们测试环境中或开发环境中。做处理。

每次请求到了nginx之后我们可以生成一个子请求,通过反向代理去访问我们的其他环境,子请求的返回值不做处理。因为我们只做镜像。
只有两个指令 mirror
跟mirror_request_body
1.mirror,把同步复制的请求,访问到另一个url,通常这个url会指向一个反向代理。
- mirror_request_body 是否把请求中的body转发到上游服务中。
一个例子
先创建一个上游服务。处理镜像请求。

处理用户请求的服务

留言问题
1.陶老师您好,mirror模块能否在拷贝前做规则匹配,如判定http头标识再执行拷贝
作者回复
可以,你可以参考我提出的11个阶段的流程:if是在rewrite阶段,而mirror是在precontent阶段。
2.tcpcopy 也可以做到这个效果 mirror跟tcpcopy区别在哪里
作者回复
区别很大,mirror基于nginx,所以分享nginx的所有功能,也就是这门课介绍的所有模块、指令你都可以配合到mirror里用。tcpcopy是四层的,没有那么多功能。
网友评论