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

ilya на aniskovets.com ilya на aniskovets.com
Сб Окт 16 12:54:28 MSD 2010


Добрый день,

передаю через 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/cfc33b2d/attachment.html>


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