Re: Добавление заголовка после upstream

Budulianin nginx-forum на nginx.us
Ср Июл 29 05:34:59 UTC 2015


>В ответ клиенту добавить?
Добавить в запрос, который перенаправится какой-то ноде, после того, как она
будет выбрана в upstream.
Т.е. upstream уже выбран, мы его только теперь знаем(адрес ноды) и тогда мы
добавляем его в header и он отправляется в ноду.

Если ставить proxy_set_header рядом с proxy_pass, то заголовок не
добавляется, я так понимаю, что переменная ещё пустая, поэтому
заголовок не ставится. Но где уже известна эта переменная? Только в блоке
upstream? Но там нельзя устанавливать заголовок.

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

upstream tornado {
    hash $arg_key;

    server 127.0.0.1:9995;
    server 127.0.0.1:9996;
    server 127.0.0.1:9997;
    server 127.0.0.1:9998;
    server 127.0.0.1:9999;

}


server {
    listen 8080 default_server;

    access_log /var/log/nginx/prototypes-nginx-access.log;
    error_log /var/log/nginx/prototypes-nginx-error.log;

    location /ws/ {
        proxy_pass http://tornado;
        proxy_set_header Test-Header1 123;
        proxy_set_header Test-Header2 $upstream_addr;
        proxy_set_header Test-Header3 $host;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

}

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,260596,260601#msg-260601



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