Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Event ID 2280 IIS W3SVC: Сбой загрузки модуля DLL (Конфигурация)

Обновлено: 15.08.2026  ·  Официальная база знаний

Архитектура IIS и загрузка модулей (ISAPI/Native)

Событие 2280 логируется в журнале Application источником IIS-W3SVC-WP. Сообщение: «Сбой загрузки модуля DLL [Путь_К_DLL] из-за проблемы конфигурации. Текущая конфигурация поддерживает только модули, созданные для [x86 или x64] архитектуры». Симптомы: пул приложений (Application Pool) успешно стартует, но при первом же обращении пользователя к сайту возвращается ошибка HTTP 500.19 (Internal Server Error) или 503 (Service Unavailable), а в лог падает событие 2280. Сайт полностью недоступен.

Механика сбоя (Bitness Conflict)

Веб-сервер IIS (Internet Information Services) имеет модульную архитектуру. В файле applicationHost.config прописаны пути к библиотекам (например, модуль URL Rewrite или PHP FastCGI). Если рабочий процесс w3wp.exe запущен в 64-битном режиме, а модуль (DLL), который он пытается подгрузить, является 32-битным (или наоборот) — ядро Windows (Loader) жестко отбрасывает такую библиотеку, вызывая 2280.

Пошаговое дерево решений (Конфликт Архитектур)

Сценарий 1: Переключение битности пула (Enable 32-Bit Applications)

Это самое частое и быстрое решение. Если старый сайт (или ERP-система вроде 1С) использует старые 32-битные COM-объекты или ISAPI-фильтры, вы должны принудительно перевести пул в режим x86.

  1. Откройте Диспетчер служб IIS (IIS Manager).
  2. В левом меню выберите Пулы приложений (Application Pools).
  3. Найдите пул вашего сайта, нажмите правой кнопкой -> Дополнительные параметры (Advanced Settings).
  4. В разделе Общие (General) найдите параметр Разрешить 32-разрядные приложения (Enable 32-Bit Applications).
  5. Измените значение на True (если модуль x86) или False (если модуль x64).
  6. Перезапустите пул приложений.

Сценарий 2: Отсутствие Visual C++ Redistributable

Событие 2280 может возникнуть, даже если битность пула правильная. Проблема в том, что сама DLL-библиотека модуля (например, rewrite.dll для URL Rewrite или aspnetcorev2.dll для .NET Core) зависит от базовых библиотек Windows (C++ Runtime). Если они не установлены, DLL "не может загрузиться".

  • Решение: Установите Microsoft Visual C++ Redistributable (x64 и x86) версий 2013, 2015-2022 на сервер. Перезапустите IIS (iisreset).

Сценарий 3: Битый путь в applicationHost.config

Иногда после неудачного удаления модуля (например, Web Deploy), IIS продолжает искать его DLL.

  1. Откройте файл конфигурации сервера: C:\Windows\System32\inetsrv\config\applicationHost.config (Сделайте бэкап!).
  2. Найдите поиском имя сбойного модуля из события 2280.
  3. Удалите строку в секции <globalModules>, ссылающуюся на отсутствующий DLL-файл.

Типовые ошибки администраторов

  • Попытка менять web.config: Событие 2280 — это проблема глобального уровня (Server-level). Правка локального web.config сайта не поможет, так как рабочий процесс w3wp.exe 'спотыкается' еще на этапе загрузки базовых модулей ядра IIS.
Сайты и корпоративные порталы не запускаются после переноса на новый сервер?
Траблшутинг архитектуры IIS (ISAPI, FastCGI, .NET Core) требует DevOps-квалификации. Делегируйте веб-инфраструктуру инженерам ITSTM: мы настроим CI/CD пайплайны, разрешим конфликты Application Pools, установим нужные Runtime-компоненты и обеспечим бесперебойную работу ваших сервисов 24/7.
Практический опыт инженера: При публикации сайтов на PHP (через FastCGI) ошибка 2280 часто появляется, если в настройках пула стоит x64, а вы скачали бинарники PHP (php-cgi.exe) версии x86. Ядро IIS (модуль iisfcgi.dll) не сможет создать 32-битный дочерний процесс из 64-битного родителя. Всегда синхронизируйте битность пула с битностью интерпретатора (PHP/Node.js/Python).

Частые вопросы (FAQ)

Почему 2280 возникает при установке модуля URL Rewrite?

Установщик URL Rewrite Module прописывает свои DLL-файлы (rewrite.dll) в глобальную секцию IIS. Если вы используете 32-битные пулы, убедитесь, что вы скачали и установили версию URL Rewrite, содержащую как x64, так и x86 сборки (обычно это общий инсталлятор WebPI).

Связан ли 2280 с правами доступа (Access Denied)?

Обычно нет. При нехватке прав (если IIS_IUSRS не может прочитать файл .dll) ядро выдаст другую ошибку (Access Violation или код 500.19 с указанием на Security). 2280 — это строго архитектурный отказ загрузчика (LoadLibrary).

Что делать, если в логе не указан путь к DLL?

Такое бывает при глубоких сбоях .NET Framework. Включите Failed Request Tracing (FREB) в IIS Manager для кода ошибки 500. Трассировка сгенерирует XML-отчет, где будет детально расписан каждый шаг инициализации w3wp.exe и точное имя модуля.

Влияет ли параметр 'Режим управляемого конвейера' (Classic / Integrated)?

Да. Старые модули (например, фильтры ISAPI от старых версий 1С) могут работать ТОЛЬКО в классическом режиме (Classic Mode). Перевод пула в Integrated Mode вызовет сбой загрузки таких модулей.

Поможет ли переустановка роли Web Server (IIS)?

Это крайняя мера. Проще удалить 'глючный' сторонний модуль через 'Установку и удаление программ' (appwiz.cpl). Переустановка IIS полностью сотрет все ваши сайты (applicationHost.config).