Я пытаюсь определить липкость в Apache. Вот определение в proxy.conf:Apache/Определить липкость с помощью JSESSIONID
<Proxy balancer://fs1>
BalancerMember https://localhost:5006/doc route=node1
BalancerMember https://localhost:5008/doc route=node2
ProxySet stickysession=JSESSIONID|jsessionid
</Proxy>
ProxyPass /doc balancer://fs1
или:
ProxyPass "/doc " "balancer://fs1" stickysession=JSESSIONID|jsessionid scolonpathdelim=On
<Proxy balancer://fs1>
BalancerMember https://localhost:5006/doc route=node1
BalancerMember https://localhost:5008/doc route=node2
</Proxy>
Я пытаюсь использовать параметры запроса URL, чтобы достичь клейкости (потому что я понимаю, что не рекомендуется, чтобы переопределить кук) , Как написано в документации Apache:
Второй способ реализации липкости - кодирование URL. Сервер выполняет поиск параметра запроса в URL-адресе запроса. Имя параметра указано снова с использованием stickysession. Значение параметра используется для поиска сотрудника-члена с маршрутом , равным этому значению. Так как нелегко извлечь и обработать все URL-ссылки, содержащиеся в ответах, как правило, работа по добавлению параметров к каждой ссылке выполняется с помощью контентера, создающего . В некоторых случаях это может быть осуществлено с помощью сервера с использованием mod_substitute или mod_sed. Тем не менее это может отрицательно сказаться на производительности .
Я посылаю следующий запрос 10 раз в почтальона:
https://{{myserver}}/doc?jsessionid=node1
Я замечаю, что запросы передаются node1
(5 запросов) и node2
(также 5 запросов). Но я определяю stickysession, поэтому он должен выбрать node1
и каждый раз переходить к этому узлу.
Моя цель состоит в том, что клиент отправляет запрос https://{{myserver}}/doc?jsessionid=nodeX
, и запрос будет проходить в nodeX
(без использования печенье .., только с помощью stickyness является кодирование URL).
Например, клиент отправляет запрос https://{{myserver}}/doc?jsessionid=node1
10 раз. Каждые 10 раз запрос будет обслуживаться https://localhost:5006
.
Что я делаю неправильно?
Вы сказали, что вы определили„заголовок“„JSessionID а12“.Но конфигурация Apache будет искать _cookie_ по имени JSESSIONID со значениями node1 или node2. Что такое вход, cookie или нет? – covener
@covener: Спасибо за ваш комментарий. Теперь я пытаюсь использовать параметр URL-запроса. Поэтому я отправляю следующий {myserver}/doc? Jsessionid = node1. Он по-прежнему подходит к 5006 и 5008. – MiddleWare