При обновлении платформы «1С:Предприятие» до версии 8.3.18.1289 и выше многие системные администраторы и разработчики сталкиваются с неожиданным поведением веб-серверов Apache и IIS. База успешно публикуется, однако при попытке входа нескольких пользователей сеансы начинают аварийно завершаться, а система выдает сообщения о нарушении целостности. Рассмотрим подробно причины этой ситуации и разберем по шагам, как обеспечить стабильную работу веб-сервисов на современных релизах платформы.
Проанализируем типичную ситуацию. После публикации информационной базы на Apache 2.4 или IIS первый пользователь заходит в систему без видимых проблем. Однако, как только к базе пытается подключиться второй клиент (через тонкий клиент или браузер), происходят следующие события:
httpd.exe для Apache или w3wp.exe для IIS).Выясним причину такого поведения. Начиная с версий 8.3.17.1851 и 8.3.18.1201, компания 1С внедрила глубокие механизмы самопроверки исполняемых файлов. Платформа проверяет контрольные суммы основных библиотек, таких как backbas.dll, comcntr.dll и userproxy.dll. Если эти файлы были модифицированы сторонними утилитами («патчами»), система защиты срабатывает не мгновенно, а через случайные промежутки времени или при увеличении нагрузки на веб-сервер, что и создает иллюзию «неработающего» Apache.
Как показывает практика и обсуждение в техническом сообществе, единственным стабильным решением является использование оригинальных библиотек платформы. Если в папке bin установленной версии 1С находятся измененные файлы, их необходимо заменить на оригинальные или полностью переустановить платформу.
Разберем алгоритм восстановления работоспособности:
C:\Program Files\1cv8\8.3.18.1289\ (или аналогичная) полностью удалена.vbus.sys). Новые релизы 1С блокируют работу при обнаружении активных служб эмуляции в памяти, даже если вы используете программную лицензию.После того как мы обеспечили чистоту исполняемых файлов, необходимо правильно настроить взаимодействие веб-сервера Apache с модулем расширения 1С. Посмотрим на критические параметры конфигурации.
Разрядность компонентов: Это фундаментальный момент. Если вы используете 64-битную платформу 1С (x86-64), то Apache обязательно должен быть 64-битным. Смешивание 32-битного веб-сервера и 64-битных библиотек 1С (и наоборот) через LoadModule технически невозможно и приведет к ошибке запуска службы.
Проанализируем пример корректного подключения модуля в файле httpd.conf:
# Подключение модуля расширения 1С для версии 8.3.18.1289
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.18.1289/bin/wsapch24.dll"
# Описание публикации базы данных
<IfModule _1cws_module>
ManagedApplicationServiceAddr localhost
# Другие параметры публикации
</IfModule>
Обратите внимание на файл wsapch24.dll. Цифра «24» в названии указывает на совместимость с веткой Apache 2.4. Использование старых модулей (например, wsapch22.dll) с новым сервером недопустимо.
Если вы предпочитаете использовать Internet Information Services (IIS), требования к целостности файлов остаются такими же жесткими. Рассмотрим дополнительные настройки, которые часто упускают из виду:
.1cws (или .1csr) прописан путь к isapi_1c.dll из папки bin текущей версии платформы.False.IIS AppPool\ИмяПула или IIS_IUSRS), должен иметь права на «Чтение и выполнение» папки bin платформы 1С. Без этого библиотеки не смогут загрузиться, что часто интерпретируется как «ошибка публикации».Современные сборки Apache 2.4 (особенно популярные версии от Apache Lounge) и модули 1С версии 8.3.18 базируются на специфических версиях библиотек среды выполнения Visual C++. Проанализируем необходимость обновления компонентов:
Для корректной работы wsapch24.dll и isapi_1c.dll в системе должны быть установлены последние версии Microsoft Visual C++ Redistributable (обычно версии 2015-2022). Отсутствие нужной версии msvcrt.dll или сопутствующих библиотек в системных папках может приводить к тому, что модуль 1С просто не «подцепится» веб-сервером, и вы увидите пустую страницу или ошибку 500.
Хотя версия 8.3.18.1289 является работоспособной при наличии лицензии, выясним, является ли она оптимальной. В данной ветке (8.3.18) на ранних этапах фиксировались проблемы с утечками памяти при интенсивной работе через HTTP-сервисы. Если после исправления проблем с целостностью системы вы продолжаете наблюдать нестабильность, рекомендуется обновиться до финальных сборок ветки 8.3.18, таких как 8.3.18.1957 или более поздних. В них взаимодействие модуля wsapch24.dll с ядром Apache было значительно оптимизировано.
Резюме: Основная причина, по которой «не пашет» Apache на новых версиях 1С — это конфликт системы защиты с модифицированными файлами. Использование оригинального дистрибутива, соблюдение разрядности (64-бит для всего стека технологий) и корректная настройка прав доступа решают проблему в 99% случаев.