Re: Не правильный запрос на бэкенд после рерайта

Maxim Dounin mdounin на mdounin.ru
Чт Дек 7 12:52:04 UTC 2017


Hello!

On Thu, Dec 07, 2017 at 02:38:35PM +0200, Андрей Василишин wrote:

> 
> > Для начала - посмотреть внимательно на то, что написано в
> > proxy_pass.
> >
> 
> Спасибо, Максим!
> 
> proxy_pass http://backend$request_uri;

Что и объясняет наблюдаемое поведение.

> Странно что там не
> proxy_pass http://backend$uri;

Так точно не надо.  В общем случае $uri - это URI запроса со 
снятным эскейпингом, в то время как proxy_pass ожидает корректно 
поэскейпленный аргумент.  Использование $uri в proxy_pass без 
контроля содержимого гарантировано приведёт к security-проблемам.

Правильно просто ничего не указывать:

    proxy_pass http://backend;

тогда nginx сформирует URI запроса на бэкенд самостоятельно исходя 
из текущего URI запроса.

-- 
Maxim Dounin
http://mdounin.ru/


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