← На главную
При настройке и смене версий платформы «1С:Предприятие» на веб-сервере IIS специалисты часто сталкиваются с ситуацией, когда веб-клиент перестает работать, выдавая ошибки HTTP 404.0 - Not Found (обработчик StaticFile) или HTTP 500.0 - Internal Server Error (модуль 1C Web-service Extension, код 0x80004005). Проанализируем причины возникновения этих сбоев и разберем по шагам, как привести работу веб-сервера в норму.
Причины возникновения ошибок веб-публикации
Выясним основные причины, из-за которых ломается публикация баз 1С на IIS:
- Запуск Конфигуратора без прав администратора: При публикации базы из 1С Конфигуратор должен внести изменения в системные файлы IIS и файл
web.config. Если 1С запущена с обычными правами, веб-сервер не получает правильных сопоставлений обработчиков.
- Сбой сопоставления обработчиков в web.config: Ошибка
HTTP 404.0 Not Found с обработчиком StaticFile означает, что IIS не видит расширения 1С для обработки POST-запросов (например, /ec1cib/login) и пытается искать физический файл на диске.
- Конфликт версий платформы в одном пуле приложений: Если на одном сервере публикуются базы с разной версией платформы (например, 8.3.9 и 8.3.10), загрузка разных библиотек
wsisapi.dll в один пул приложений вызывает ошибку HTTP 500.0 Internal Server Error.
- Несоответствие разрядности (32-bit и 64-bit): Запуск 32-разрядного модуля
wsisapi.dll в 64-разрядном пуле приложений (или наоборот) без включенного параметра разрешений 32-битных приложений приводит к сбою.
Шаг 1. Перепубликация базы из Конфигуратора с правами администратора
Рассмотрим первоочередной шаг решения проблемы, который позволяет корректно зарегистрировать обработчики в IIS:
- Закроем все сеансы «1С:Предприятие» и IIS Manager.
- Найдем ярлык нужной версии платформы 1С (например, 8.3.9 или 8.3.10) в меню «Пуск» или на рабочем столе.
- Нажмем правой кнопкой мыши и выберем пункт «Запуск от имени администратора».
- Откроем нужную информационную базу в режиме Конфигуратор.
- Перейдем в меню Администрирование > Публикация на веб-сервере....
- Укажем верное имя публикации и каталог на диске, после чего нажмем кнопку «Опубликовать».
Шаг 2. Разделение баз 1С по индивидуальным пулам приложений
Если на одном веб-сервере IIS опубликовано несколько баз, работающих на разных релизах или разрядностях платформы 1С, проанализируем настройку пулов приложений:
- Откроем диспетчер служб IIS (
inetmgr).
- Перейдем в раздел Пулы приложений и создадим отдельные пулы для каждой версии платформы (например,
1C_AppPool_8.3.9 и 1C_AppPool_8.3.10).
- Для каждого пула откроем Дополнительные параметры.
- Для параметра Версия среды .NET Framework выберем
Без управляемого кода.
- Если используется 32-разрядная платформа 1С, установим Разрешены 32-разрядные приложения в значение
True (Истина). Для 64-разрядной платформы укажем False (Ложь).
- Назначим созданные пулы соответствующим веб-приложениям 1С через меню Управление приложением > Дополнительные параметры > Пул приложений.
Шаг 3. Проверка «Ограничений ISAPI и CGI» в IIS
Разберем настройку разрешений расширений 1С на уровне сервера IIS:
- В корневом узле дерева IIS перейдем в раздел Ограничения ISAPI и CGI.
- Проверим наличие путей к библиотеке
wsisapi.dll для всех используемых версий платформы (например, C:\Program Files\1cv8\8.3.10.XXXX\bin\wsisapi.dll).
- Убедимся, что для каждого добавленного модуля установлен статус Разрешено.
Шаг 4. Очистка web.config и настройка прав доступа
Посмотрим, как поступить, если файл web.config был поврежден:
- Перейдем в физическую папку веб-публикации на диске и удалим файл
web.config.
- Выполним повторную публикацию из Конфигуратора 1С, запущенного от имени администратора. 1С сформирует чистый и корректный файл конфигурации.
- Предоставим встроенной группе
IIS_IUSRS права Чтение и выполнение, Список содержимого папки и Чтение на каталог установки 1С (папку bin).
- Для файловых информационных баз добавим группе
IIS_IUSRS права Изменение на каталог с файлом 1Cv8.1CD.