Разберем ситуацию, с которой часто сталкиваются администраторы при настройке веб-доступа к базе 1С. Допустим, мы успешно публикуем базу на Apache, но возникает необходимость использовать веб-сервер Microsoft IIS. Мы даем права на каталог базы и файловую систему, настраиваем ISAPI и веб-сопоставление путей к библиотеке wsasapi.dll из папки bin, но при обращении по портам 80 или 443 сервер возвращает ошибку HTTP 500. При этом сам IIS функционирует исправно. Проанализируем причины такого поведения и выясним, как правильно настроить сервер.
В отличие от Apache, сервер IIS крайне чувствителен к архитектуре используемых библиотек. Наиболее частая причина моментальной ошибки 500 кроется в конфликте разрядности пула приложений IIS и установленного «Модуля расширения веб-сервера» 1С.
Разрядность библиотеки платформы должна строго совпадать с настройками пула. Если происходит расхождение, загрузчик модулей Windows блокирует выполнение, что приводит к обрыву соединения и внутренней ошибке. Для решения проблемы рассмотрим следующие шаги:
Проанализируем другие важные параметры пула приложений, которые могут вызывать сбои при обработке запросов модулем 1С. Несовместимые параметры пула часто приводят к ошибкам 500.
Рекомендуется выполнить следующие настройки для пула 1С:
Посмотрим на глобальные настройки веб-сервера. Отсутствие нужных компонентов или разрешений также приведет к невозможности выполнения скриптов.
wsasapi.dll обязательно должен быть добавлен в этот список со статусом «Разрешено».Даже если права на каталог базы настроены верно, ошибка может крыться в файле публикации web.config. Убедимся, что системная группа IIS_IUSRS имеет полные права (чтение, выполнение, запись и изменение) непосредственно на сам файл web.config, который генерируется при публикации.
Обратим внимание на частую ошибку при обслуживании сервера. При каждом обновлении платформы 1С физический каталог с исполняемыми файлами (bin) меняется. В файле web.config сохраняется жесткий абсолютный путь к старой версии модуля. Если платформу обновили, но забыли переопубликовать базу (или обновить путь вручную), IIS будет возвращать 500 ошибку, так как физически не сможет найти файл библиотеки по указанному пути.
Чтобы не гадать о причинах абстрактной ошибки, рассмотрим методы диагностики:
eventvwr.msc, раздел "Приложение"). Также полезно изучить системные логи самого IIS, которые по умолчанию располагаются в каталоге C:\inetpub\logs\LogFiles\.Практический совет: В качестве альтернативы стандартной публикации из Конфигуратора, для работы с IIS мы рекомендуем использовать встроенную консольную утилиту webinst. Практика показывает, что она более корректно регистрирует необходимые обработчики в системных конфигурациях IIS и сводит к минимуму ошибки генерации XML-кода в файлах настроек.