#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. Что я делаю не так?