gpt4 book ai didi

nginx - access_by_lua 和 content_by_lua 引用 nginx.conf 中的 lua 脚本有什么区别?

转载 作者:行者123 更新时间:2023-12-04 13:13:46 31 4
gpt4 key购买 nike

我目前很困惑。我的代码适用于发送到 location / 的每个请求.

########nginx.conf

server {
listen 8000;
server_name localhost;

lua_code_cache on;

location / {
content_by_lua_file /path/to/file.lua;
}
}
file.lua对每个传入的 http 请求执行一些操作。
如果我包含 file.lua 会有什么不同通过 access_by_lua_file而不是 content_by_lua_file ?

如果这是一个愚蠢的问题,我深表歉意。请帮助我学习。 :)

最佳答案

每个处理不同的阶段。

https://openresty-reference.readthedocs.io/en/latest/Directives/#access_by_lua

access_by_lua_file 充当访问阶段处理程序, content_by_lua_file 充当内容阶段处理程序。

引用 http://nginx.org/en/docs/dev/development_guide.html#http_phases

NGX_HTTP_ACCESS_PHASE — 验证客户有权提出请求的阶段。标准 nginx 模块,例如 ngx_http_access_module 和 ngx_http_auth_basic_module 在此阶段注册它们的处理程序。默认情况下,客户端必须通过在此阶段注册的所有处理程序的授权检查,请求才能继续到下一阶段。如果任何阶段处理程序授权客户端,则满足指令可用于允许处理继续。

NGX_HTTP_CONTENT_PHASE — 通常生成响应的阶段。多个 nginx 标准模块在此阶段注册其处理程序,包括 ngx_http_index_module 或 ngx_http_static_module。它们被顺序调用,直到其中之一产生输出。也可以在每个位置的基础上设置内容处理程序。如果 ngx_http_core_module 的位置配置设置了处理程序,则它被称为内容处理程序,并且在此阶段安装的处理程序将被忽略。

关于nginx - access_by_lua 和 content_by_lua 引用 nginx.conf 中的 lua 脚本有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62201922/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com