Ситуация, когда веб-клиент 1С:Предприятие зависает на этапе заставки («белое окно» или бесконечная анимация загрузки), является довольно распространенной, особенно после обновления платформы до версии 8.3.17 и выше. Характерным признаком проблемы часто бывает успешный первый запуск после перезагрузки служб и полная невозможность установить вторую и последующие сессии. Проанализируем причины этого поведения и разберем по шагам методы решения, начиная от настройки программных и аппаратных лицензий и заканчивая тонкой оптимизацией веб-сервера Apache 2.4.
В большинстве случаев зависание на заставке до момента появления окна авторизации (логин/пароль) свидетельствует о том, что система не может получить лицензию. Рассмотрим подробнее механизм работы с аппаратными ключами HASP. Если на сервере установлено несколько физических ключей, платформа может войти в состояние бесконечного ожидания ответа от менеджера лицензий.
Важно понимать различие между ключами: зеленый ключ (маркировка EN8SA) — это серверная лицензия, а красный ключ (маркировка NetXX ORGL8) — клиентская многопользовательская лицензия. Платформа 1С позволяет им работать на одной машине, но если у вас установлены два клиентских ключа одной серии (например, два ключа по 5 лицензий), они будут конфликтовать. В этом случае система видит только один из них, либо вообще «замирает» при попытке опроса.
Для решения этой проблемы разберем алгоритм настройки nnhasp.ini:
nnhasp.ini (обычно он находится в папке bin установленной платформы или в C:\Program Files\Common Files\Aladdin Shared\HASP\). Настройте его следующим образом:
[NH_COMMON]
NH_TCPIP = ENABLED
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10 ; Укажите здесь IP вашего сервера с ключом
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = TCP
NH_USE_IPV4 = ENABLED
Проанализируем ситуацию: явное указание протокола TCP и конкретного IP-адреса исключает задержки, связанные с UDP-опросом всей подсети, что критично для стабильной работы веб-клиента через Apache.
Если с лицензиями проблем нет, но вторая сессия всё равно зависает, нам необходимо посмотреть на настройки самого веб-сервера Apache. В ОС Windows Apache использует многопоточную модель, которая иногда некорректно взаимодействует с расширением 1С (wsap24.dll).
Рассмотрим правки, которые необходимо внести в файл конфигурации httpd.conf:
AcceptFilter http none
AcceptFilter https none
EnableSendfile и EnableMMAP могут вызывать блокировки при чтении статических ресурсов платформы. Установите их в состояние Off:
EnableMMAP Off
EnableSendfile Off
mpm_winnt_module и увеличьте значение ThreadsPerChild:
<IfModule mpm_winnt_module>
ThreadsPerChild 250
MaxConnectionsPerChild 0
</IfModule>
Эти настройки позволяют Apache более стабильно обрабатывать входящие HTTP-запросы от веб-клиента 1С, предотвращая зависания на уровне сетевого сокета.
Начиная с версии 8.3.17, 1С внедрила технологию Service Workers для веб-клиента. Это позволяет кэшировать программные модули в браузере для ускорения работы. Однако, если на сервере обновилась платформа или изменились настройки публикации, старый кэш Service Worker в браузере пользователя может привести к тому, что приложение зависнет при попытке инициализации.
Разберем способы очистки:
default.vrd. Иногда помогает добавление параметра reuseSessions="autouse", который управляет переиспользованием сеансов.Если вышеперечисленные методы не помогли, нам стоит прибегнуть к инструментам глубокого анализа. Проанализируем ситуацию с помощью Fiddler и Технологического журнала (ТЖ).
Шаги диагностики через Fiddler:
Sent), но ответа 200 OK нет — проблема на стороне Apache или серверной части 1С.Настройка Технологического журнала на сервере:
Создайте файл logcfg.xml в папке conf серверной части 1С, чтобы отследить события получения лицензий и ошибки сеансов:
<config xmlns="http://v8.1c.ru/7.4/get/logcfg">
<log location="C:\LOGS\1C" history="24">
<event>
<eq property="Name" value="HASP"/>
</event>
<event>
<eq property="Name" value="EXCP"/>
</event>
<property name="AllProperties"/>
</log>
</config>
В логах события HASP покажут, откуда именно платформа пытается забрать лицензию и на каком этапе происходит отказ.
Не стоит забывать и о системном окружении. Даже если антивирус или брандмауэр выглядят отключенными, их драйверы фильтрации трафика (WFP) могут блокировать специфические запросы Apache.
Рекомендации по настройке безопасности:
httpd.exe в исключения антивируса.LocalSystem на новых версиях Windows Server накладывает ограничения на работу с сетевыми ключами защиты.Подводя итог, можно сказать, что решение проблемы зависания чаще всего кроется в настройке nnhasp.ini и отключении AcceptFilter в Apache. Совместное применение этих мер гарантирует стабильный запуск веб-клиента 1С даже в условиях высокой нагрузки и использования сложных схем лицензирования.