Назад | Перейти на главную страницу

Балансировка нагрузки Nginx для поддержания сеансов между серверами IIS

Я установил балансировщик нагрузки с NGINX для двух веб-серверов IIS, которые работают с сеансами. Вот файл конфигурации NGINX, который я создал для балансировки нагрузки:

#Log Format
log_format upstreamlog '$server_name to: $upstream_addr [$request] '
    'upstream_response_time $upstream_response_time '
    'msec $msec request_time $request_time';

#Upstream
upstream mybalancer {
    ip_hash;
    server server1.com:80;
    server server2.com:80;
}

#Server
server {
    listen 80;
    listen [::]:80;
    server_name server3.com;

    access_log /var/log/nginx/access.log upstreamlog;

    location / { 
    proxy_pass http://mybalancer; 
    proxy_http_version 1.1; 
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    }   
}

Когда я обращаюсь к server3.com он перенаправляется, например, на server1.com. Далее делаю логин, перехожу на определенную страницу, скажем: server1.com/welcome/maps. Все в порядке.

Сейчас я выключить server1.com, а NGINX перенаправляет меня на server2.com, но предлагает мне перейти на страницу входа.

Мой вопрос:

Можно настроить NGINX так, чтобы те же сессии когда один сервер выходит из строя? Это означает, что в моем примере NGINX может перенаправить меня на server2.com/welcome/maps с той же сессией.

PD:

Я читал другие сообщения о настройке этих параметров:

proxy_cookie_path ~*^/.* /;
add_header "Set-Cookie" "lb=$upstream_http_X_Loadbalance_ID";

но не работает.