null

Citrix VDI + NetScaler: бесконечный экран Connecting

Проявление

После успешного логина, на этапе подключения к ВМ из пула, бесконечно долго наблюдаем чёрный экран с фразой "Connecting... This may take a few moments":
Стоит отметить, что в нашем случае проблема носила непостоянных характер. С разных устройств и браузеров то проявлялась, то нет. Удалось добиться стабильного повторения только в Google Chrome 92.
 

Локализация проблемы

Открываем окно разработчика в браузере, вкладку Network, отлючаем кеш галочкой здесь же.
Заново инициируем подключение к ВМ.
Наблюдаем какие файлы скачиваются. Среди прочих, en.js и ru.js, очевидно отвечающие за локализацию интерфейса и 404 в ответ на запрос к какому-то /favicon.ico:
На скачивании иконок вся активность завершается, а мы продолжаем наблюдать чёрный экран, пока хватит терпения...
 
Теперь в настройках браузера, в разделе язык отображения страниц, ставим на первое место Английский:
 
Снова пробуем подключиться к ВМ и - О, чудо! - работает.
Смотрим на вкладку Network. После скачивания иконок, на сервер летит ещё один запрос, и начинает работу скрипт workerhelper, который уже делает всё необходимое, в том числе открывает сокет:
Во вкладке браузера видим интерфейс желанной ВМ.
 

Анализ

После попыток подключения к ВМ с другими языками в браузере, например Немецким, получаем такое же зависание как в случае с Русским языком. Картина в окне разработчика повторяется.
Итак, есть вероятность, что человек, делавший кастомизацию портала накосячил, но теперь-то и след его простыл. А может это бага софта и нужно обновляться...
 

Решение

Дабы не менять настройки клиентских браузеров, приняли решение принудительно включить английский язык на всю Store (первые две строки инструкции взяты отсюда).
Для этого на Delivery Controller в файл
C:\inetpub\wwwroot\Citrix\<StoreName>Web\custom\script.js
необходимо добавить строку:
CTXS.Environment.getPreferredLanguages = function () { return null; }
И выполнить с этого конроллера распростанение конфигурации в Citrix Studio:
Citrix StoreFront -> Server Group -> Propagate Changes
Теперь настройка браузера игнорируется, интерфейс всегда отображается на английском, подключение перестало зависать.
Учитывая, что человек при подключении к ВМ видит всего пару надписей и три с половиной кнопки на буржуйском, решение для нашего случая более чем приемлемо.