Как закодировать небезопасные символы в строке запроса HTTP средствами NGINX?
Приветствую!
У меня есть работающий инстанс nginx, который проксирует запросы к
веб серверу. Время от времени приходят запросы, в строке запроса (query string) которого
встречаются символы '{' и '}'. И что самое интересное - браузер их не кодирует.
Например если они бы встречались в пути, то браузер их будет кодировать, а в строке
запроса - нет. Так вот по спецификации эти символы считаются небезопасными и должны
быть закодированы в любом случае.
Когда такой запрос приходит к веб серверу (netty) то тот выдет ошибку.
Сам вопрос: как средствами nginx эскейпить строку запроса, чтоб небезопасные
символы были заменены на соответствующую последовательность %XX?
Есть ли варианты без подключения lua модуля?
P.S> на уровне фреймворка решить вопрос не могу, ибо до него дело не доходит.
Вся проблема на низком уровне, куда доступа нет. Единственный вариант это
модификация запроса средствами nginx.
Дмитрий: Я исследовал этот вопрос и до клиентского кода дело не доходит. Ошибка происходит непосредственно в сервере возникает. Это Play Framework 2.5. В HttpHandler запрос не приходит.