При настройке публикации информационной базы 1С:Предприятие на веб-сервере IIS под управлением Windows Server (в частности 2012 R2 и новее) администраторы часто сталкиваются с ошибкой HTTP 500.0 — Internal Server Error. В подробных сведениях об ошибке указывается модуль IsapiModule, обработчик 1C Web-service Extension и код ошибки 0x800700c1.
Рассмотрим детально, почему возникает данное непослушание со стороны веб-сервера и как быстро восстановить работоспособность публикаций.
Код ошибки 0x800700c1 соответствует системному сбою ERROR_BAD_EXE_FORMAT («Не является приложением Win32»). В контексте веб-сервера IIS это означает, что рабочий процесс IIS (файл w3wp.exe) пытается загрузить библиотеку ISAPI-расширения 1С (файл wsisapi.dll) несовместимой разрядности.
Если пул приложений IIS настроен на работу в 32-разрядном режиме (параметр Enable 32-Bit Applications / Разрешены 32-разрядные приложения установлен в True), а сопоставление обработчика указывает на 64-битный DLL-файл 1С (или наоборот), сервер не может выполнить загрузку динамической библиотеки и возвращает ошибку 500.0.
Проанализируем пошагово процесс исправления конфликта разрядности в диспетчере служб IIS:
inetmgr.exe в окне «Выполнить»).DefaultAppPool или выделенный пул базы).False, если на сервере используется 64-битная версия платформы 1С и загружается 64-битный модуль wsisapi.dll из каталога C:\Program Files\1cv8\.... Если же применяется 32-битная платформа 1С, этот параметр должен быть установлен в True.iisreset.Если изменение параметра 32-разрядных приложений не решило проблему, разберем другие возможные причины блокировки модуля wsisapi.dll.
1. Настройка ограничений ISAPI и CGI
Веб-сервер IIS может блокировать исполнение сторонних DLL-модулей на глобальном уровне. Выясним, как разрешить запуск компонента 1С:
wsisapi.dll.2. Проверка прав доступа NTFS
Рабочий процесс IIS запускается от имени служебных учетных записей (например, ApplicationPoolIdentity или группы IIS_IUSRS). Если у этой группы нет прав на чтение каталога установки платформы 1С, IIS не сможет загрузить модуль.
C:\Program Files\1cv8\8.3.XX.XXXX\bin).IIS_IUSRS имеет права Чтение и выполнение, Список содержимого папки и Чтение.3. Конфликт с модулями сжатия WSUS
Если на одном сервере с IIS развернута служба обновлений Windows Server (WSUS), она добавляет глобальные модули сжатия DynamicCompressionModule и StaticCompressionModule. Данные модули могут вызывать ошибку 0x800700c1 при несоответствии разрядности с пулом 1С. В таком случае рекомендуется выносить веб-публикацию 1С в отдельный изолированный пул приложений и отключать неиспользуемые динамические модули сжатия для конкретного веб-сайта 1С.