openresty中rewrite_by_lua_file执行后会继续走log_by_lua_file阶段吗

openresty 2023-08-29 618次浏览

不会,rewrite_by_lua_file和log_by_lua_file是两个独立的nginx配置,执行时线性的,一个完成后不会自动执行另一个。

rewrite_by_lua执行完成后,不会再继续执行log_by_lua

rewrite_by_lua_file用于请求重写,执行完后nginx会继续处理请求。
log_by_lua_file用于访问日志记录,是在请求处理结束后,nginx将访问记录写入日志前执行的。

所以:

rewrite_by_lua_file执行完后,不会自动执行log_by_lua_file。
rewrite_by_lua_file执行完成后,nginx会继续处理请求。

请求处理完后,nginx才会执行log_by_lua_file来记录访问日志。

两个lua脚本的执行时机不同:
rewrite_by_lua_file在请求重写阶段执行
log_by_lua_file在请求结束后记录日志阶段执行
它们的执行不依赖于对方,是nginx在不同时机调用来完成不同任务的。
openresty中rewrite_by_lua_file执行后会继续走log_by_lua_file阶段吗

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址