nginx 開啟緩存 如何先執行 lua

nginx 中開啟可緩存

proxy_cache appcache;
proxy_cache_key $http_SSL$host$uri$is_args$args;
proxy_cache_methods GET HEAD;
proxy_cache_min_uses 1;
proxy_cache_valid 200 301 5m;
proxy_cache_valid 404 1m;

在location 中有載入lua腳本
rewrite_by_lua_file lua/direct_device.lua;

lua是進行了觸屏版的判定,是否要調整觸屏版,
但是現在有緩存了,就不會進入lua,所以無法跳轉

如何先執行lua,在去執行緩存呢???

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇文章:nginx使用lua做灰度发布 也许有你想要的答案,你可以看看
  • 除此之外, 这篇博客: nginx系列之九:lua服务中的 1.1.5 防止重写URL后导致的死循环,location级别重写的后一阶段 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    NGX_HTTP_POST_REWRITE_PHASE:防止重写URL后导致的死循环,location级别重写的后一阶段,用来检查上阶段是否有uri重写,并根据结果跳转到合适的阶段。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^