nginx из официального докер образа 1.18.0 njs шла в комплекте и отдельно не ставилась — 0.4.2 вообще никак не вмешивались…
за альтернативу кода спасибо! сейчас думаем, как бы аккуратно выпилить эти артефакты совсем > On 1 Sep 2020, at 07:56, Dmitry Volyntsev <xei...@nginx.com> wrote: > > > On 01.09.2020 00:42, Alexey Galygin wrote: >> >> но на всякий случай, может есть версия как-то это нативно переписать для >> конфига без всяких языков и модулей? >> какие есть рекомендации? (совсем выкидывать всё же стрёмно…) > > А подскажите свою версию njs (Если njs ставился из официальных пакетов, будет > доступен бинарник njs, и тогда версию можно узнать так `njs -v`). > > > оказалось проблема в NJS части, какой-то баг там именно в связке 1.18.0 + > > Ubuntu 20.04 > > менялась ли версия njs при апгрейде? Если нет, единственное что пока приходит > на ум это изменения в версии libpcre между дистрибутивами. > > Как воркараунд можно попробовать переписать эти функции без использования > глобальных регулярок (наиболее вероятное место проблемы). > > function unescapeURI(r) { > return r.uri.replace(/%20/g, " "); > } > > -> > > 1) > // идентична по поведению исходной функции > function unescapeURI(r) { > return r.uri.split(/%20/).join(" "); > } > > 2) > // более стандартный метод, но заменит все %-encoded комбинации > https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/decodeURI > function unescapeURI(r) { > return decodeURI(r.uri); > } > > > function escapeURI(r) { > return r.uri.replace(/\s/g, "%20").replace(/_/g, "%5F"); > } > > -> > > 1) > // идентична по поведению исходной функции > function escapeURI(r) { > return r.uri.split(" ").join("%20").split("_").join("%5F"); > } > > 2) > // более стандартный метод, но заменит все %-encoded комбинации > https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/encodeURI > function escapeURI(r) { > return encodeURI(r.uri); > } > _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru