• NGINX HTTP 请求的十一个阶段


    NGX_HTTP_POST_READ_PHASE

    在接收到完整的HTTP头部后处理的HTTP阶段

    NGX_HTTP_SERVER_REWRITE_PHASE

    在将请求的URI与location表达式匹配前,修改请求的URI

    NGX_HTTP_FIND_CONFIG_PHASE

    根据请求URI寻找匹配的location表达式,这个阶段只能由ngx_http_core_module模块实现

    NGX_HTTP_REWITE_PHASE

    NGX_HTTP_FIND_CONFIG_PHASE找到location之后再修改请求的URI

    NGX_HTTP_POST_REWRITE_PHASE

    rewrite重写URI后,防止错误的nginx.conf配置导致死循环,这一阶段只能由ngx_http_core_module模块实现。防止死循环的方法是设置rewrite次数上限

    NGX_HTTP_PREACCESS_PHASE

    在处理NGX_HTTP_ACCESS_PHASE之前,HTTP模块可以介入的阶段

    NGX_HTTP_ACCESS_PHASE

    用于判断是否允许请求访问服务器

    NGX_HTTP_POST_ACCESS_PHASE

    NGX_HTTP_ACCESS_PHASE判断不允许后的收尾工作,返回拒绝服务的错误响应

    NGX_HTTP_TRY_FILES_PHASE

    完全是为try_files配置项设立的

    NGX_HTTP_CONTENT_PHASE

    用于处理HTTP请求内容,这是最常介入的阶段

    NGX_HTTP_LOG_PHASE

    记录日志阶段

    基本规则

    1. 11个阶段,有些是必备的,有些是可选的
    2. 允许多个模块介入同一个阶段,将按照HTTP模块的ctx_index顺序执行它们提供的handler方法
    3. NGX_HTTP_FIND_CONFIG_PHASE、NGX_HTTP_POST_REWRITE_PHASE、NGX_HTTP_POST_ACCESS_PHASE、NGX_HTTP_TRY_FILES_PHASE 这四个阶段不允许HTTP模块介入,仅由HTTP框架实现
  • 相关阅读:
    Git 常用命令大全-转载
    Powershell重命名文件夹
    C#使用qq邮箱发送邮件
    iOS开发-YUV颜色格式
    iOS开发小记(十一)
    iOS开发-AFNetworking
    iOS开发-NSURLSession
    iOS开发-类的加载load函数和initialize函数
    iOS开发-调试(debug)
    iOS开发-graphics
  • 原文地址:https://www.cnblogs.com/shenlinken/p/11261228.html
Copyright © 2020-2023  润新知