После публикации баз 1С через IIS пользователи входили в веб-клиент, но через несколько минут получали сообщение «Сеанс отсутствует или удален». На тестовой базе с небольшой нагрузкой проблема почти не проявлялась.
Проблема
Веб-клиент открывался и позволял начать работу, после чего соединение обрывалось:
Ошибка работы сеанса. Сеанс отсутствует или удален.
Проверка параметра 32-разрядных приложений в пуле IIS не решила проблему. Ошибка стала регулярно проявляться именно после публикации рабочих баз.
Что я проверил
Сначала я убедился, что служба сервера 1С продолжает работать, пользователи тонкого клиента не теряют соединение, а сбой относится к публикации через IIS. Это важно: такое же сообщение может появляться при проблемах сети, нехватке памяти рабочего процесса и аварийном завершении фонового задания.
Решение для подтверждённого случая с IIS
В этом случае я заменил IIS на Apache 2.4 и заново опубликовал базу штатной утилитой 1С для соответствующей версии веб-сервера. Перед переключением сохранил параметры публикации и конфигурацию IIS, чтобы можно было вернуться к исходной схеме.
После публикации я проверил:
- открытие базы по новому адресу;
- вход нескольких пользователей;
- работу сеанса дольше времени, после которого IIS обрывал соединение;
- загрузку файлов и выполнение длительной операции;
- журналы Apache и сервера 1С.
Указывать универсальный готовый фрагмент httpd.conf здесь нельзя: путь к модулю веб-расширения зависит от установленной версии и разрядности платформы. Публикацию нужно выполнять штатным способом и проверять, что Apache загружает библиотеку именно своей версии 1С.
Результат и границы решения
После переноса публикации на Apache сеансы перестали завершаться через несколько минут. Это не универсальное лечение сообщения «Сеанс отсутствует или удален», а подтверждённый вариант для случая, когда сбой воспроизводится только в веб-клиенте через IIS и исчезает на другой веб-платформе.
Если одновременно вылетают тонкие клиенты или завершается rphost, сначала нужно разбирать технологический журнал и состояние сервера. Замена IIS тогда может только скрыть настоящий источник ошибки.
Что ещё проверить
Если Apache вместо формы входа отвечает Forbidden, используйте отдельную проверку прав публикации веб-клиента 1С. Ошибка несовпадения версий при веб-доступе разобрана в заметке про версии клиента и сервера 1С.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.