Nginx возвращает 404 при доступе к блоку body_filter_by_lua_block

#nginx #lua

#nginx #lua

Вопрос:

Вот конфигурация Nginx

 server {  listen 80;   location ~ .(jpe?g|png|gif|ico|svg)$ {  add_header Cache-Control "public,max-age=15552000";   root /usr/share/nginx/html;  index index.html index.htm;  try_files $uri $uri/ /index.html =404;  }   location / {  root /usr/share/nginx/html;  index index.html index.htm;  try_files $uri $uri/ /index.html =404;   if ( $request_uri ~ '^/xxx/yyyy' ) {  set $test A;  }  if ( $arg_refId ) {  set $test "${test}B";  }  if ($test = AB) {  header_filter_by_lua_block { ngx.header.content_length = nil }  body_filter_by_lua_block  {  local ogurl = "ggggggggg"  local ogtitle = "sdfsdfsdfsdfsdf"  local environ = "${REACT_APP_ENVIRONMENT}"  if environ == "development" then  ogurl = "ssssssss"  end  local body = ngx.arg[1]  ngx.log(ngx.STDERR, body)  if body then  local query_string = ngx.req.get_uri_args()  local refid = query_string["refId"]  body = ngx.re.gsub(body, "/ogimage.png", ogurl .. ngx.escape_uri(refid))  body = ngx.re.gsub(body, "Swop.fi", ogtitle)  end  ngx.arg[1] = body  }  }  }  include /etc/nginx/extra-conf.d/*.conf; }  

Когда я пытаюсь запросить любой URL-адрес, например /zzzz или /kkk, все в порядке. Но когда я попробовал url /xxx/гггг?refId=1111, я получил 404. Почему директива try_file не работает с Lua. Что я делаю не так?