При работе с базами данных 1С:Предприятие в файловом режиме через веб-сервер IIS (Internet Information Services) системные администраторы часто сталкиваются с внезапным обрывом клиентских соединений. Ошибка обычно сопровождается сообщением: «Ваш сеанс был завершен администратором» или «Произошла непредвиденная ошибка». Особенно остро эта проблема проявилась на платформе ветки 8.3.24. Встречаются и более специфичные случаи, когда, например, третий сеанс тонкого клиента «вешает» все остальные. В этой статье мы подробно разберем причины такого поведения и пошагово настроим систему для стабильной работы.
Прежде всего, проанализируем используемую версию технологической платформы. В рассматриваемом случае используется 8.3.24.1808. В данной ветке (8.3.24) разработчиками 1С было внесено множество изменений в механизмы взаимодействия с веб-серверами, что привело к ряду специфических багов. Рассмотрим основные из них:
w3wp.exe, в котором исполняется код 1С на стороне IIS, может некорректно освобождать память при работе с файловыми базами. При достижении определенных лимитов IIS принудительно перезапускает процесс, что обрывает все активные сессии.Для решения этой проблемы мы рекомендуем рассмотреть обновление на более стабильные сборки, такие как 8.3.25.1394 или актуальные релизы ветки 8.3.26. Если же откат или обновление невозможны, перейдем к настройке окружения.
Одной из наиболее вероятных причин вылета всех пользователей одновременно является механизм рециклинга (Recycling) пула приложений. Проанализируем настройки вашего IIS. По умолчанию IIS настроен так, чтобы периодически перезапускать рабочие процессы для предотвращения деградации системы. Для 1С это критично. В то время как IIS выполняет перезапуск всего процесса, для более точечного управления «зависшими» подключениями может пригодиться специальное WEB-приложение для управления сеансами 1С, позволяющее удалять их по одному.
Разберем по шагам, что нужно изменить в Диспетчере служб IIS:
1Cv8.1cd.Выясним причину возможного влияния защитных механизмов 1С. Начиная с версии 8.3.20, платформа стала крайне чувствительна к наличию следов эмуляторов ключей защиты или патчей. При публикации на веб-сервере это проявляется специфически: вместо явного сообщения о нарушении целостности, система может просто «молча» аварийно завершать процесс расширения веб-сервера.
Рассмотрим алгоритм проверки:
haspsrm.dll в системных папках Windows или в папках платформы bin.backbas.dll, w3wp.exe или v8loader.dll.Проанализируем ситуацию, когда сеансы обрываются из-за нехватки прав доступа. Веб-сервер работает от имени специальной учетной записи (обычно IIS AppPool\ИмяПула или IUSR). Для стабильной работы 1С этой учетной записи требуются полные права на следующие каталоги:
C:\Windows\Temp).C:\Program Files\1cv8\conf.Если при попытке записи временного файла (например, при формировании тяжелого отчета) IIS получает отказ в доступе, рабочий процесс может завершиться с критической ошибкой, что приведет к вылету всех подключенных клиентов.
Если настройка IIS не приносит результатов, рассмотрим вариант публикации через Apache 2.4. Однако, как было замечено в обсуждении, простая установка Apache может не решить проблему, если не настроить параметры конфигурации. Разберем пример настройки файла httpd.conf для оптимизации работы с 1С:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
Также важно убедиться, что разрядность Apache совпадает с разрядностью установленной платформы 1С. Если вы используете 64-битную платформу, Apache также должен быть x64. При использовании Apache версии 2.4 обязательно проверьте наличие модуля _1cws_module в конфигурационном файле, который создается при публикации из конфигуратора.
Выясним, не блокирует ли антивирус файл базы данных. Файловая база 1С — это один большой файл 1Cv8.1cd, к которому постоянно обращается веб-сервер. Антивирус может пытаться сканировать его при каждом обращении, что вызывает микро-задержки. Для веб-сервера это выглядит как потеря связи с ресурсом, после чего сессия обрывается.
Рекомендуем добавить в исключения антивируса:
*.1cd, *.1cl, *.lgp, *.elf.w3wp.exe (для IIS), httpd.exe (для Apache).Мы проанализировали основные причины краша клиентских приложений при работе через веб-сервер. Подведем итог: чаще всего проблема кроется в комбинации нестабильного релиза платформы (8.3.24.1808) и слишком агрессивных настроек рециклинга в IIS. Последовательное выполнение описанных выше шагов — от настройки пулов приложений до проверки чистоты системы от сторонних патчей — позволяет добиться стабильной работы веб-клиентов даже в тяжелых условиях эксплуатации файловых баз. лаунчер с проверкой доменной авторизации.