Почему 1С на веб-сервере IIS запускается локально, но зависает на заставке у пользователей, и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Публикация баз данных 1С:Предприятия на веб-сервере — это стандартный и крайне удобный способ предоставить пользователям доступ к информационной базе из любой точки мира. Однако на практике администраторы часто сталкиваются со следующей проблемой: на самом сервере в веб-браузере база открывается без проблем, а у удаленных пользователей процесс зависает на этапе появления стартовой заставки «1С:Предприятие» или вовсе отображается пустой экран. Рассмотрим подробно, почему так происходит, как решить эту проблему с помощью перехода на 32-битный модуль расширения, а также разберем глубокие настройки 64-битного окружения IIS, нюансы лицензирования и альтернативные варианты публикации.

Причина зависания и быстрое решение: переход на 32-битный пул приложений IIS

Опытным путем установлено, что 64-разрядные модули расширения веб-сервера 1С (в частности, библиотека wsisapi.dll) в связке с IIS на операционных системах семейства Windows Server могут вести себя нестабильно при обработке внешних запросов. В то же время локальные запросы через localhost на самом сервере проходят успешно.

Самым простым и быстрым решением, которое гарантированно устраняет зависание у пользователей, является переход на 32-разрядную версию модуля расширения веб-сервера 1С и настройка соответствующего пула приложений в диспетчере IIS. Разберем этот процесс по шагам.

  1. Скачивание и установка 32-битной платформы: Если на сервере установлен только 64-битный сервер 1С, вам необходимо отдельно скачать с сайта технологической поддержки 1С дистрибутив «Технологическая платформа 1С:Предприятие для Windows» (32-разрядная версия). При установке этого дистрибутива обязательно выберите компонент «Модули расширения веб-сервера».
  2. Настройка пула приложений в IIS: Откроем Диспетчер служб IIS. Перейдем в раздел «Пулы приложений» (Application Pools). Найдем пул, который обслуживает нашу опубликованную базу (по умолчанию это может быть DefaultAppPool или выделенный пул, созданный специально для 1С). Нажмем на него правой кнопкой мыши и выберем пункт «Дополнительные параметры» (Advanced Settings). Найдем параметр «Разрешить 32-разрядные приложения» (Enable 32-Bit Applications) и установим его значение в True.
  3. Перепубликация базы: Запустим Конфигуратор 1С от имени администратора. Перейдем в меню «Администрирование» — «Публикация на веб-сервере». В поле «Веб-сервер» выберем наш IIS. Обратите внимание, что путь к модулю в файле конфигурации должен указывать на 32-битную библиотеку, которая обычно располагается в папке C:\Program Files (x86)\1cv8\.... Переопубликуем базу, нажав кнопку «Опубликовать», и перезапустим службу IIS.

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

Тонкая настройка 64-битного модуля расширения IIS: если 32-бит не подходит

Иногда использование 32-разрядного пула приложений нежелательно (например, из-за ограничений по оперативной памяти при большом количестве одновременно работающих пользователей). Если вам принципиально важно заставить работать именно 64-битный модуль расширения 1С, проанализируем неочевидные системные параметры IIS, которые вызывают зависание на заставке.

Выясним ключевые причины, по которым 64-битный процесс IIS w3wp.exe блокирует загрузку веб-клиента для внешних пользователей:

Влияние системы лицензирования на зависание заставки

Очень часто бесконечное зависание заставки «1С:Предприятие» у удаленных пользователей происходит на этапе получения программной или аппаратной лицензии. Веб-сервер выступает посредником, и если механизм раздачи лицензий настроен некорректно, сессия «засыпает» без вывода явного сообщения об ошибке.

Проанализируем работу системы защиты в данном режиме:

Пользователь, открывая базу через браузер, не может использовать свой локальный USB-ключ или локальную программную лицензию, установленную на его персональном компьютере. Лицензию ему должен выдать либо сам веб-сервер, либо сервер приложений 1С.

Чтобы исключить проблемы с лицензированием, выполните следующие настройки:

  1. Убедитесь, что в свойствах информационной базы в кластере серверов 1С (через консоль администрирования) параметр «Разрешить выдачу лицензий сервером 1С:Предприятия» установлен в значение «Да».
  2. Если используются многопользовательские программные лицензии, они должны быть установлены на самом сервере 1С в каталоге, доступном для службы сервера (обычно это C:\ProgramData\1C\licenses).
  3. Если на сервере настроен поиск HASP-ключей по сети, откройте файл nethasp.ini на сервере и явно укажите IP-адреса менеджеров лицензий. Бесконечный широковещательный поиск ключей по всей локальной сети при каждом веб-запросе гарантированно приводит к временным зависаниям веб-клиента.

Альтернативный вариант: публикация на веб-сервере Apache

Если борьба с настройками IIS затянулась, имеет смысл рассмотреть альтернативный и очень популярный вариант — использование веб-сервера Apache (httpd). Программный продукт Apache отличается простотой настройки конфигурационных файлов и высокой стабильностью работы с 64-битными модулями 1С.

Разберем экспресс-метод публикации на Apache по шагам:

  1. Скачайте официальные бинарные файлы Apache для Windows (версии 2.4) с сайта разработчика. Распакуйте архив в удобную папку, например, C:\Apache24\.
  2. Зарегистрируйте Apache как службу Windows. Для этого откройте командную строку от имени администратора и выполните команду: C:\Apache24\bin\httpd.exe -k install
  3. Запустите службу Apache через диспетчер служб Windows или с помощью команды httpd.exe -k start.
  4. Откройте Конфигуратор вашей базы 1С от имени администратора, перейдите в окно публикации, выберите веб-сервер Apache 2.4, укажите путь к конфигурационному файлу (например, C:\Apache24\conf\httpd.conf) и нажмите кнопку «Опубликовать».

Apache самостоятельно пропишет все необходимые директивы загрузки модулей 1С. Данный веб-сервер, как показывает практика многих системных администраторов, работает «из коробки» и значительно реже вызывает проблемы с зависанием сессий у удаленных пользователей.

В чем разница между работой в браузере и использованием Тонкого клиента по HTTP?

В процессе обсуждения публикации баз часто возникает вопрос: зачем использовать тонкий клиент 1С, если можно просто открыть базу в обычном браузере (Google Chrome, Mozilla Firefox, Яндекс.Браузер)? Выясним практические преимущества запуска базы через Тонкий клиент, подключенный по HTTP-ссылке веб-сервера:

Таким образом, для редкого или мобильного доступа сотрудников (например, из дома или в командировках) отлично подойдет веб-клиент в браузере. Для постоянной же ежедневной работы операторов, бухгалтеров и кассиров настоятельно рекомендуется использовать Тонкий клиент, подключенный по HTTP-адресу опубликованной базы.

← На главную