При настройке веб-доступа к информационным базам «1С:Предприятие» специалисты часто сталкиваются с ситуацией, когда 32-разрядная платформа работает корректно, а при переходе на 64-разрядный сервер 1С и 64-битный модуль расширения веб-сервера IIS окно «1С:Предприятие» бесконечно зависает в браузере ещё до появления формы авторизации.
Рассмотрим подробно причины возникновения этой проблемы и разберем проверенные способы её устранения.
Проанализируем механику работы веб-клиента при разворачивании на 64-разрядной архитектуре. Когда публикация выполняется с использованием 64-битного модуля wsisapi.dll, за обработку запросов отвечает рабочий процесс IIS w3wp.exe.
Главная причина зависания заключается в особенности поиска лицензий 64-разрядным веб-модулем 1С:
Если модуль расширения запускается в 64-битном контексте службы IIS под ограниченной системной учетной записью (например, ApplicationPoolIdentity), он уходит в бесконечное ожидание при попытке найти сетевой ключ HASP через широковещательные UDP-запросы (Broadcast). Брандмауэр или сетевая подсистема Windows блокирует эти запросы для служебных процессов IIS, из-за чего окно браузера «зависает» до ввода логина и пароля.
Самое простое и эффективное решение — убедиться, что сервер «1С:Предприятия» берет на себя получение и раздачу лицензий пользователям веб-клиента.
Разберем по шагам, как это настроить:
Да.При такой схеме модуль расширения IIS не пытается самостоятельно искать ключи в локальной сети, а запрашивает лицензию напрямую у службы 1С, что предотвращает зависание процесса.
Если веб-сервер должен самостоятельно обращаться к менеджеру лицензий HASP, необходимо отключить широковещательный поиск и жестко прописать IP-адрес сервера лицензирования.
Для этого выполним следующие действия:
bin\conf (или bin) для 64-разрядной версии 1С создадим или отредактируем файл nethasp.ini.
[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.x.x
NH_USE_BROADCAST = Disabled
После сохранения файла перезапустим службу веб-сервера IIS командой iisreset в командной строке от имени администратора.
Посмотрим на настройки пула приложений в IIS, от которых зависит правильность выполнения 64-битного модуля 1С.
False, так как используется 64-битный модуль wsisapi.dll. Использование 32-битного режима для 64-битной библиотеки приведет к ошибке HTTP 500.0.True, чтобы процесс имел доступ к хранилищу программных лицензий.0, чтобы IIS не выгружал процесс при отсутствии активности клиентов.ApplicationPoolIdentity на доменную или локальную учетную запись с правами администратора на сервере.Соблюдение этих правил гарантирует стабильную работу 64-разрядного сервера 1С совместно с веб-сервером IIS без зависаний и сбоев авторизации.