Re: non-ASCII в URI в location

Maxim Dounin mdounin на mdounin.ru
Пн Окт 24 19:56:59 UTC 2016


Hello!

On Mon, Oct 24, 2016 at 09:52:25PM +0300, Phil Kulin wrote:

> На старости лет вруг понял, что не понял.
> Смотрите, есть какие-то non-ASCII символы в URI. И например это не
> UTF-8. Хочу в location и например в map ловить такие URI. Что-то не
> могу ни найти, ни нагуглить как. В исходный текст посмотреть как nginx
> разбирает такие строки конфига не залезал.
> 
> P.S. Хорошо, если это CP1251, а если нет? Например, название каталога
> с переводом строки "/static/rm -rf\n" :)

А в чём именно видится проблема?

В общем случае - писать в кавычках и экранировать кавычки и 
обратный слеш с помощью обратного же слеша.  В целом nginx знает 
и умеет \', \", \\, \t, \r, \n, так что "/static/rm -rf\n" можно 
так и записать:

    location "/static/rm -rf\n" {
        return 200 done\n;
    }

С документацией на это, правда, всё плохо.

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru