Я работаю на сайте, который просит меня подключиться к определенным внутренним системам через Citrix AppGate через общедоступный Интернет.
Иногда случается, что я отключаюсь от сеанса, и когда я пытаюсь снова подключиться, я получаю следующее сообщение:
Я все время на одном устройстве.
Когда я звоню во внутреннюю службу поддержки, ответ - подождать. «Подождите 10-15 минут, и вы сможете снова подключиться к исходному сеансу». Это действительно так, но у меня нет времени ждать 10-15 минут каждый раз, когда это происходит.
Вопрос: Что в Citrix AppGate вызывает путаницу, так что я не могу повторно подключиться изначально? Почему помогает подождать 10-15 минут? Как он решает, что это попытка нового сеанса, а не попытка повторного подключения к существующему сеансу?
(Примечание: все здесь, кажется, согласны с тем, что программное обеспечение работает именно так, но я действительно сомневаюсь, что Citrix намеренно разрабатывает программное обеспечение так плохо. Я очень расстроен :-))
Я могу объяснить, почему вы приходите через 10-15 минут:
Ваш IP-адрес фиксируется при запуске сеанса.
После того, как вы сбросили сеанс, ваш IP-адрес недействителен и не позволит вам подключиться к этому сеансу в течение следующих 15 минут.
Насчет Citrix не знаю, как это исправить, возможно, может помочь смена IP.
Примечание: У меня нет решения этой проблемы. Так что это может быть не совсем полезно для вас, но вот техническая подоплека, насколько я понимаю:
Похоже, у меня были проблемы в прошлом.
Если повторное подключение сеанса не работает, сервер пытается начать новый сеанс терминального сервера. И обычно не разрешается запускать более одного. (Обычно это настраивается администратором вручную.) Итак, вы получите всплывающее окно. (И я не знаю, как сказать моему клиенту, чтобы он принудительно переподключился. Вы просто говорите своему клиенту «подключиться», а затем некоторая внутренняя логика, которую я не понимаю, решает, завершите ли вы повторное подключение или новый сеанс .)
Теперь почему не работает переподключение?
Существует 2 состояния сеанса терминального сервера: «активный» и «отключенный». (Видеть Скриншот.)
И моя установка Citrix не позволяла повторно подключиться к active
сессий. Подключиться к disconnected
сеансы работали нормально.
Теперь ОБЫЧНО терминальный сервер ДОЛЖЕН обнаруживать прерывание сеанса и автоматически менять состояние сеанса с «активного» на отключенное ». Просто в моем случае он этого не сделал.
Также ОБЫЧНО повторное подключение к активным сеансам ДОЛЖНО работать так же, как и повторное подключение к отключенным сеансам. Но этого не произошло.
Теперь есть несколько глупых обходных путей, о которых я знаю:
Set time limit for active but idle Terminal Services sessions
.)Результат каждого из этих обходных путей одинаков: состояние сеанса изменяется с «активного» на «отключено». И сеанс повторного подключения к отключенному ОБЫЧНО работает.
Если кто-нибудь узнает, как это исправить, я хотел бы знать.
Но есть много движущихся частей, и я не понимаю их всех. Например, становится сложнее, если вы добавите шифрование / шлюз для балансировки нагрузки Citrix-Access-Gateway (CAG) и добавите в него «Citrix Session Reliability» (SR).
CAG: Я думаю, что может быть проблема, когда соединение внешнего интерфейса пользователя с CAG пропало, но внутреннее соединение от CAG к серверу терминалов по-прежнему считается хорошим.
SR: И с SR сервер терминалов в основном принимает соединение на порт 2598, а затем разговаривает САМОМ на порт 1498. Таким образом, даже если клиентское соединение с 2598 пропало, внутреннее соединение (от localhost) к 1494 все равно будет считаться хорошим. Теперь это ДОЛЖНО заметить в какой-то момент, но я не знаю когда.
Вот официальное сообщение в блоге Citrix, в котором описывается конфигурация серверной части и перечисляется терминология Citrix: