Я сделал обратный образ прокси-сервера с модулями Lua.
Некоторые тесты после того, как я обнаружил lua-блоки в 'location', всегда работают независимо от настроек прокси, которые я установил.
Когда я пытался удалить все блоки Lua и proxy_cache работает хорошо
proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60s use_temp_path=off;
lua_package_path '/usr/local/openresty/lualib/?/init.lua;;';
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/local/openresty/nginx/html;
index index.html index.htm;
}
location /mongo3 {
resolver 172.31.0.2 ipv6=off;
set $cdn "";
add_header Cache-Control "public, max-age=60";
proxy_cache my_cache;
proxy_cache_methods GET;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache_valid 200 302 304 5m;
proxy_cache_valid 404 1m;
rewrite_by_lua_block{
mongol = require "resty.mongol"
conn = mongol:new()
conn:set_timeout(3000)
ngx.sleep(1) #-- this is for test --
ok,err = conn:connect()
local db = conn:new_db_handle('products')
... extract from database ...
ngx.var.cdn = 'http://cdn.com'..r["goto"]
}
proxy_pass $cdn;
}
После установки выше и всегда отвечать более 1 с из-за «ngx.sleep (1)»
Как я могу настроить Когда попадет в кэш, тогда игнорировать "rewrite_by_lua_block"?