当请求进入Nginx后,每个HTTP执行阶段的作用
| 阶段顺序 | 阶段名称 | 作用 |
|---|---|---|
| 1 | NGX_HTTP_POSTREAD_PHASE = 0 | 接收并读取请求阶段 |
| 2 | NGX_HTTP_SERVER_REWRITE_PHASE | 修改url阶段,通常有重定向和变量设置的操作 |
| 3 | NGX_HTTP_FIND_CONFIG_PHASE | 查找URL对应的配置,如匹配location |
| 4 | NGX_HTTP_REWRITE_PHASE | 在匹配到对应的location后,再次进入修改URL阶段 |
| 5 | NGX_HTTP_POST_REWRITE_PHASE | 检查URL是否执行过阶段4,如果执行过,就会重新执行阶段3,每个请求的最大检查次数是10,超过10次就会报错 |
| 6 | NGX_HTTP_PREACCESS_PHASE | 一般用来在请求前设置对资源的控制,例如限速 |
| 7 | NGX_HTTP_ACCESS_PHASE | 控制访问权限,例如限制某个IP地址的访问或外层密码的登录 |
| 8 | NGX_HTTP_POST_ACCESS_PHASE | 验证阶段7的权限控制的结果 |
| 9 | NGX_HTTP_TRY_FILES_PHASE | 只有当使用try_files指令时才会生效 |
| 10 | NGX_HTTP_CONTENT_PHASE | 处理HTTP请求内容的阶段,一般会和后端服务器进行交互 |
| 11 | NGX_HTTP_LOG_PHASE | 日志请求阶段 |
当请求进入Nginx后,每个HTTP执行阶段的作用的更多相关文章
- javascript引擎执行的过程的理解--执行阶段
一.概述 同步更新sau交流学习社区(nodeJSBlog):javascript引擎执行的过程的理解--执行阶段 js引擎执行过程主要分为三个阶段,分别是语法分析,预编译和执行阶段,上篇文章我们介绍 ...
- jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...
- Nginx 配置指令的执行顺序(十)
运行在 post-rewrite 阶段之后的是所谓的 preaccess 阶段.该阶段在 access 阶段之前执行,故名preaccess. 标准模块 ngx_limit_req 和 ngx_lim ...
- Nginx 配置指令的执行顺序(九)
紧接在 server-rewrite 阶段后边的是 find-config 阶段.这个阶段并不支持 Nginx 模块注册处理程序,而是由 Nginx 核心来完成当前请求与 location 配置块之间 ...
- Nginx 配置指令的执行顺序(七)
来看一个 ngx_static 模块服务磁盘文件的例子.我们使用下面这个配置片段: location / { root /var/www/; } 同时在本机的 /var/w ...
- Nginx 配置指令的执行顺序(四)
ngx_lua 模块提供了配置指令 access_by_lua,用于在 access 请求处理阶段插入用户 Lua 代码.这条指令运行于 access 阶段的末尾,因此总是在 allow 和 deny ...
- Nginx 配置指令的执行顺序(一)
大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个 location 配置块使用了多个 Nginx 模块的配置指令时,这些指令的执行顺序很可能会跟它们的书写顺序大相径庭.于是许多人选择了 ...
- Nginx执行阶段
Nginx 介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮 ...
- Nginx配置指令的执行顺序
rewrite阶段 rewrite阶段是一个比较早的请求处理阶段,这个阶段的配置指令一般用来对当前请求进行各种修改(比如对URI和URL参数进行改写),或者创建并初始化一系列后续处理阶段可能需要的Ng ...
随机推荐
- nginx典型官方模块解释
模块名称 作用 语法 默认 配置位置 配置举例 结果验证 备注 1 --with-http_stub_status_module 监控Nginx的服务器连接状态 stub_status serve ...
- 3.Python爬虫入门_正则表达式(简单例子)
#2019-11-23 import requests import time import re #Python正则表达式库 if __name__=='__main__': #海量爬取图片数据 # ...
- boostrap --- 弹窗modal的使用
<input id="btntext" type="button" value="添加文本组件" data-toggle=" ...
- 短信控制的 智能插头(sim900a arduino uno)
https://www.arduino.cn/thread-19432-1-2.html 1.所需工具:(1)arduino UNO,(2)sim900a模块,(3)单路继电器,(4)220v ac转 ...
- 【2019.8.6 慈溪模拟赛 T3】集合(set)(线段树上DP)
线段树上\(DP\) 首先发现,每个数肯定是向自己的前驱或后继连边的. 则我们开一棵权值线段树,其中每一个节点记录一个\(f_{0/1,0/1}\),表示在这个区间左.右端点是否连过边的情况下,使这个 ...
- Paper | Fast image processing with fully-convolutional networks
目录 故事 方法 实验 发表在2017年ICCV. 核心任务:加速图像处理算子(accelerate image processing operators). 核心方法:将算子处理前.后的图像,训练一 ...
- markdown 希腊字母
字母名称 大写 markdown原文 小写 markdown原文alpha A A α \alphabeta B B β \betagamma Γ \Gamma γ \gammadelta Δ \De ...
- multer 基础教程(中文版)
此文档于2016年10月3日翻译时multer的版本是1.2.0,它可能不是最新的! 甚至可能存在翻译错误!你可能需要阅读原版英语README 此文档仅供参考! Multer Multer 是一个 n ...
- php explode容易犯的错误
php explode容易犯的错误 <pre> $pos = strpos($v, 'Controller'); if (is_numeric($pos)) { $kongzhiqifeg ...
- kubernetes 之一些报错
1.kubelet与docker的Cgroup Driver不一致导致的报错 7月 :: kubeadm-master kubelet[]: W0701 :: watcher.go:] Error w ...