Как исправить ошибки HTTP 404.0 и 500.0 при публикации 1С на веб-сервере IIS?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При настройке и смене версий платформы «1С:Предприятие» на веб-сервере IIS специалисты часто сталкиваются с ситуацией, когда веб-клиент перестает работать, выдавая ошибки HTTP 404.0 - Not Found (обработчик StaticFile) или HTTP 500.0 - Internal Server Error (модуль 1C Web-service Extension, код 0x80004005). Проанализируем причины возникновения этих сбоев и разберем по шагам, как привести работу веб-сервера в норму.

Причины возникновения ошибок веб-публикации

Выясним основные причины, из-за которых ломается публикация баз 1С на IIS:

  1. Запуск Конфигуратора без прав администратора: При публикации базы из 1С Конфигуратор должен внести изменения в системные файлы IIS и файл web.config. Если 1С запущена с обычными правами, веб-сервер не получает правильных сопоставлений обработчиков.
  2. Сбой сопоставления обработчиков в web.config: Ошибка HTTP 404.0 Not Found с обработчиком StaticFile означает, что IIS не видит расширения 1С для обработки POST-запросов (например, /ec1cib/login) и пытается искать физический файл на диске.
  3. Конфликт версий платформы в одном пуле приложений: Если на одном сервере публикуются базы с разной версией платформы (например, 8.3.9 и 8.3.10), загрузка разных библиотек wsisapi.dll в один пул приложений вызывает ошибку HTTP 500.0 Internal Server Error.
  4. Несоответствие разрядности (32-bit и 64-bit): Запуск 32-разрядного модуля wsisapi.dll в 64-разрядном пуле приложений (или наоборот) без включенного параметра разрешений 32-битных приложений приводит к сбою.

Шаг 1. Перепубликация базы из Конфигуратора с правами администратора

Рассмотрим первоочередной шаг решения проблемы, который позволяет корректно зарегистрировать обработчики в IIS:

  1. Закроем все сеансы «1С:Предприятие» и IIS Manager.
  2. Найдем ярлык нужной версии платформы 1С (например, 8.3.9 или 8.3.10) в меню «Пуск» или на рабочем столе.
  3. Нажмем правой кнопкой мыши и выберем пункт «Запуск от имени администратора».
  4. Откроем нужную информационную базу в режиме Конфигуратор.
  5. Перейдем в меню Администрирование > Публикация на веб-сервере....
  6. Укажем верное имя публикации и каталог на диске, после чего нажмем кнопку «Опубликовать».

Шаг 2. Разделение баз 1С по индивидуальным пулам приложений

Если на одном веб-сервере IIS опубликовано несколько баз, работающих на разных релизах или разрядностях платформы 1С, проанализируем настройку пулов приложений:

  1. Откроем диспетчер служб IIS (inetmgr).
  2. Перейдем в раздел Пулы приложений и создадим отдельные пулы для каждой версии платформы (например, 1C_AppPool_8.3.9 и 1C_AppPool_8.3.10).
  3. Для каждого пула откроем Дополнительные параметры.
  4. Для параметра Версия среды .NET Framework выберем Без управляемого кода.
  5. Если используется 32-разрядная платформа 1С, установим Разрешены 32-разрядные приложения в значение True (Истина). Для 64-разрядной платформы укажем False (Ложь).
  6. Назначим созданные пулы соответствующим веб-приложениям 1С через меню Управление приложением > Дополнительные параметры > Пул приложений.

Шаг 3. Проверка «Ограничений ISAPI и CGI» в IIS

Разберем настройку разрешений расширений 1С на уровне сервера IIS:

  1. В корневом узле дерева IIS перейдем в раздел Ограничения ISAPI и CGI.
  2. Проверим наличие путей к библиотеке wsisapi.dll для всех используемых версий платформы (например, C:\Program Files\1cv8\8.3.10.XXXX\bin\wsisapi.dll).
  3. Убедимся, что для каждого добавленного модуля установлен статус Разрешено.

Шаг 4. Очистка web.config и настройка прав доступа

Посмотрим, как поступить, если файл web.config был поврежден:

  1. Перейдем в физическую папку веб-публикации на диске и удалим файл web.config.
  2. Выполним повторную публикацию из Конфигуратора 1С, запущенного от имени администратора. 1С сформирует чистый и корректный файл конфигурации.
  3. Предоставим встроенной группе IIS_IUSRS права Чтение и выполнение, Список содержимого папки и Чтение на каталог установки 1С (папку bin).
  4. Для файловых информационных баз добавим группе IIS_IUSRS права Изменение на каталог с файлом 1Cv8.1CD.
← На главную