В процессе эксплуатации информационных систем на базе 1С:Предприятие, опубликованных на веб-сервере IIS с использованием Аутентификации ОС, администраторы могут столкнуться с трудновоспроизводимой ошибкой. Пользователи периодически получают сообщение «Нет прав на запуск требуемого вида клиента», при этом повторная попытка входа через F5 часто приводит к успеху. Разберем детально, почему это происходит и как устранить данную проблему.
При анализе логов IIS часто фиксируется ошибка 412 (Precondition Failed). Это указывает на то, что веб-сервер корректно принимает запрос, но при попытке передать его в 1С происходит конфликт условий. Проблема заключается не в правах пользователя или настройках браузера, а в механизме обработки аутентификации при совместном использовании веб-клиента и HTTP-сервисов в одной публикации.
Когда вы публикуете базу 1С, IIS создает виртуальный каталог. Если в этой же базе активно работают HTTP-сервисы (например, для обмена данными с внешними системами под технической учетной записью Windows), происходит следующее:
HTTP-соединение с авторизацией ОС.IIS может ошибочно ассоциировать сеанс обычного пользователя веб-клиента с контекстом технического пользователя HTTP-сервиса.Самым эффективным и надежным способом решения данной архитектурной ошибки является изоляция веб-клиента от HTTP-сервисов. Рассмотрим, как это реализовать на практике.
Если ваша инфраструктура позволяет, разделите доступ к прикладным интерфейсам. Мы можем опубликовать веб-клиент на одном порту (например, стандартном 80 или 443), а HTTP-сервисы — на другом.
IIS два разных веб-сайта или два разных виртуальных каталога.Web-сервисы и Интерфейс веб-клиента.HTTP-сервисы.Благодаря этому запросы к сервисам не будут пересекаться с сессиями пользователей веб-клиента в рамках одного пула приложений IIS.
Если вы ограничены в ресурсах и не можете разнести публикацию на разные порты, попробуйте настроить разные пулы приложений (Application Pools) для разных частей веб-приложения. Разделение процессов в IIS помогает предотвратить «перетекание» контекста авторизации между задачами.
В процессе устранения неполадок обратите внимание на следующие аспекты:
8.3.22.x, настоятельно рекомендуем запланировать обновление. В исправляющих релизах платформы 1С были внесены корректировки, исключающие подобные ошибки сопоставления сеансов.IIS, имеет достаточные права доступа к файлам конфигурации default.vrd и папке установки платформы.IIS.Для подтверждения того, что вы устранили проблему, используйте Журнал регистрации. В нем при возникновении ошибки вы должны видеть записи типа «Доступ. Отказ в доступе», где субъектом выступает технический пользователь HTTP-сервиса, хотя в этот момент он не должен был пытаться войти через веб-клиент. После применения описанных выше методов разделения, записи об ошибках подобного рода в журнале должны исчезнуть.
Таким образом, архитектурное разделение публикаций в IIS — это проверенный и стабильный способ обеспечить бесперебойную работу веб-клиента 1С в нагруженных средах, где активно используются механизмы HTTP-интеграции.