Re: проблемы с unescape аргументов в proxy_set_header и proxy_pass

ilya на aniskovets.com ilya на aniskovets.com
Сб Окт 16 13:23:16 MSD 2010


небольшая поправка, arg_url тоже отправляется в escape виде, оказалось
просто первоначально в нем небыло символов, которые надо было экранировать.
Возможно ли сделать им unescape без использования встроенного perl?

2010/10/16 <ilya at aniskovets.com>

> Добрый день,
>
> передаю через X-Accel-Redirect аргументы в internal секцию, обнаружил (с
> помощью tcpdump), что $arg_auth отправляется на удаленный сервер в escape
> виде, а в $arg_domain по этой причине нельзя добавить http:// (так как
> proxy_pass тоже отправляет в escape виде), Однако, $arg_url передается в
> нормальном виде.
>
>     location /protected/ {
>         proxy_set_header Authorization $arg_auth;
>         proxy_pass  http://$arg_domain/$arg_url;
>         proxy_set_header Host $arg_domain;
>         internal;
>     }
>
> Возможно ли это как-нибудь побороть? Или может есть другой вариант передачи
> параметров из php скрипта обратно в nginx, так, чтобы клиент это не видел?
>
> Внутри php скрипта:
>
> header('X-Accel-Redirect:
> /protected/?auth=escaped_string&domain=escaped_string&url=escaped_string");
>
> С уважением, Илья.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20101016/5b83d05c/attachment.html>


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