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

COOKIEINSERT Постоянство с AJAX

Мы используем COOKIEINSERT, настроенный на использование файлов cookie сеанса с 4 серверами за NetScaler. Если я открою веб-страницу, она загрузится нормально. Если я удалю файл cookie, добавленный NetScaler, и обновлю страницу, мне будет предложено снова войти в систему (используется Windows auth, NTLM). Предостережение заключается в том, что запрос отправляется на тот же сервер, на котором он был успешным. Если он выбирает другой сервер, он терпит неудачу при входе в систему.

Удаление этого файла cookie маловероятно при нормальных обстоятельствах. Однако у нас есть другое приложение, которое делает запросы к API, предоставляемому тем же веб-приложением. Если cookie не существует, несколько запросов AJAX, которые запускаются примерно в одно и то же время, могут работать или не работать, и каждый запрос может идти на другой сервер (у нас есть заголовки HTTP, чтобы убедиться, что это так).

  1. Необходимость повторного входа в систему, если этот файл cookie удален, является ошибкой?
  2. Как NetScaler справляется с множественными запросами, подобными этому, если я предполагаю, что пытался установить постоянный сеанс на один сервер? Имеет ли значение, что один и тот же клиент отправляет / инициирует запросы к разным серверам? Несмотря на то, что это файл cookie сеанса, NetScaler выполняет какое-то отслеживание?

Прежде всего, необходимость повторного входа в систему после удаления файла cookie постоянства зависит от вашего приложения. Если ваше приложение имеет общий бэкэнд для пользовательских сеансов, не имеет особого значения, на какой бэкэнд-сервер вы приходите, если ваш пользовательский сеанс еще действителен.

Более того, рассмотрите сбой сервера в процессе транзакции, которая имеет несколько запросов AJAX. В это время NetScaler также направит следующие запросы на следующий доступный внутренний сервер.

Затем рассмотрим сценарий отправки нескольких вызовов AJAX. В случае, если ваша веб-страница обслуживается одними и теми же внутренними серверами, у клиента уже будет доступный файл cookie. (Вызовы AJAX не будут срабатывать до тех пор, пока вызывающий их код HTML / JS не будет загружен в браузер, что означает, что уже был ответ и был установлен файл cookie).

Я не уверен, что это полностью отвечает на ваш второй вопрос?