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

Citrix: не удается подключиться к существующему сеансу

Я работаю на сайте, который просит меня подключиться к определенным внутренним системам через Citrix AppGate через общедоступный Интернет.

Иногда случается, что я отключаюсь от сеанса, и когда я пытаюсь снова подключиться, я получаю следующее сообщение:

Я все время на одном устройстве.

Когда я звоню во внутреннюю службу поддержки, ответ - подождать. «Подождите 10-15 минут, и вы сможете снова подключиться к исходному сеансу». Это действительно так, но у меня нет времени ждать 10-15 минут каждый раз, когда это происходит.

Вопрос: Что в Citrix AppGate вызывает путаницу, так что я не могу повторно подключиться изначально? Почему помогает подождать 10-15 минут? Как он решает, что это попытка нового сеанса, а не попытка повторного подключения к существующему сеансу?

(Примечание: все здесь, кажется, согласны с тем, что программное обеспечение работает именно так, но я действительно сомневаюсь, что Citrix намеренно разрабатывает программное обеспечение так плохо. Я очень расстроен :-))

Я могу объяснить, почему вы приходите через 10-15 минут:

  • Ваш IP-адрес фиксируется при запуске сеанса.

  • После того, как вы сбросили сеанс, ваш IP-адрес недействителен и не позволит вам подключиться к этому сеансу в течение следующих 15 минут.

Насчет Citrix не знаю, как это исправить, возможно, может помочь смена IP.

Состояние внутреннего сеанса не обновляется

Примечание: У меня нет решения этой проблемы. Так что это может быть не совсем полезно для вас, но вот техническая подоплека, насколько я понимаю:


Похоже, у меня были проблемы в прошлом.

Если повторное подключение сеанса не работает, сервер пытается начать новый сеанс терминального сервера. И обычно не разрешается запускать более одного. (Обычно это настраивается администратором вручную.) Итак, вы получите всплывающее окно. (И я не знаю, как сказать моему клиенту, чтобы он принудительно переподключился. Вы просто говорите своему клиенту «подключиться», а затем некоторая внутренняя логика, которую я не понимаю, решает, завершите ли вы повторное подключение или новый сеанс .)

Теперь почему не работает переподключение?

Существует 2 состояния сеанса терминального сервера: «активный» и «отключенный». (Видеть Скриншот.)

И моя установка Citrix не позволяла повторно подключиться к active сессий. Подключиться к disconnected сеансы работали нормально.

Теперь ОБЫЧНО терминальный сервер ДОЛЖЕН обнаруживать прерывание сеанса и автоматически менять состояние сеанса с «активного» на отключенное ». Просто в моем случае он этого не сделал.

Также ОБЫЧНО повторное подключение к активным сеансам ДОЛЖНО работать так же, как и повторное подключение к отключенным сеансам. Но этого не произошло.

Теперь есть несколько глупых обходных путей, о которых я знаю:

  • Подождите, пока сервер, наконец, сам не заметит. И переводит сеанс в «отключенное состояние».
  • Позвоните админу. Попросите их запустить диспетчер задач и сделать так, чтобы они щелкнули правой кнопкой мыши, а затем «отключились» от вашего имени пользователя. (Обратите внимание, что на самом деле это НЕ завершит сеанс. Просто поместите его то "к этому сеансу в настоящее время не подключены экран или клавиатура" штат.)
  • Настройте параметры протокола ICA терминального сервера так, чтобы «таймаут простоя» составлял 15 минут или, скажем,. Затем выберите «отключить» в качестве действия тайм-аута простоя. (В общем, это применимо, когда кто-то не перемещает указатель мыши в течение 15 минут.) (Вы можете сделать то же самое для Microsoft RDP. Там параметр GPO называется Set time limit for active but idle Terminal Services sessions.)

Результат каждого из этих обходных путей одинаков: состояние сеанса изменяется с «активного» на «отключено». И сеанс повторного подключения к отключенному ОБЫЧНО работает.


Если кто-нибудь узнает, как это исправить, я хотел бы знать.


Дополнительная информация: CAG и SR.

Но есть много движущихся частей, и я не понимаю их всех. Например, становится сложнее, если вы добавите шифрование / шлюз для балансировки нагрузки Citrix-Access-Gateway (CAG) и добавите в него «Citrix Session Reliability» (SR).

CAG: Я думаю, что может быть проблема, когда соединение внешнего интерфейса пользователя с CAG пропало, но внутреннее соединение от CAG к серверу терминалов по-прежнему считается хорошим.

SR: И с SR сервер терминалов в основном принимает соединение на порт 2598, а затем разговаривает САМОМ на порт 1498. Таким образом, даже если клиентское соединение с 2598 пропало, внутреннее соединение (от localhost) к 1494 все равно будет считаться хорошим. Теперь это ДОЛЖНО заметить в какой-то момент, но я не знаю когда.

Дополнительная информация: блог Citrix

Вот официальное сообщение в блоге Citrix, в котором описывается конфигурация серверной части и перечисляется терминология Citrix: