Ошибка 0x80070002 в IIS при запуске сайта означает, что сервер не может
найти один из обязательных файлов или каталогов приложения. Чаще всего это
неправильный Physical path, отсутствующий web.config или несоответствие
конфигурации пула приложений.
Проблема решается проверкой структуры сайта, прав доступа и системных зависимостей. Ниже приведён порядок действий от простых проверок до восстановительных шагов, который обычно убирает 0x80070002 без переустановки ОС.
Основные причины
- Неверно указан физический путь сайта в IIS Manager.
- Папка сайта удалена, переименована или недоступна по диску.
- Нет прав чтения у IIS_IUSRS или идентичности пула приложений.
- Сломан web.config или отсутствует нужный runtime/hosting bundle.
- Пул приложений остановлен после сбоя или лимитов.
Способ 1. Проверить Physical path в Basic Settings
- Откройте IIS Manager и выберите нужный сайт.
- Нажмите «Basic Settings» и проверьте поле Physical path.
- Убедитесь, что путь существует и содержит файлы приложения.
Способ 2. Проверить стартовый файл и web.config
- Убедитесь, что в корне есть стартовый файл (например, index.*).
-
Проверьте, что
web.configне пустой и без синтаксических ошибок. - Верните файл из бэкапа, если он был изменён вручную.
Способ 3. Проверить и перезапустить Application Pool
- В IIS откройте «Application Pools» и найдите пул сайта.
- Проверьте, что статус «Started», и нажмите «Recycle».
- Убедитесь, что версия .NET CLR соответствует вашему приложению.
Способ 4. Выдать права NTFS для IIS
- Откройте свойства папки сайта → «Безопасность».
- Добавьте IIS_IUSRS и учётную запись пула приложений.
- Выдайте Read & Execute, List folder contents и Read.
⚠️ Важно
Не давайте папке сайта права Full Control для Everyone. Избыточные права снижают безопасность сервера. Используйте минимально достаточные права для чтения и выполнения.
Способ 5. Проверить конфигурацию через appcmd
- Откройте CMD от администратора.
- Перейдите в каталог IIS:
cd %windir%\System32\inetsrv - Проверьте сайты и пулы:
appcmd list site
appcmd list apppool Способ 6. Перезапустить службы IIS
- Выполните в CMD от администратора:
iisreset - После перезапуска откройте сайт и проверьте состояние.
Способ 7. Проверить системные файлы и зависимости
- Запустите проверку системных компонентов:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth - Переустановите .NET Runtime или Hosting Bundle при необходимости.
💡 Совет
После каждого изменения очищайте кэш браузера и проверяйте сайт в режиме InPrivate/Incognito, чтобы исключить влияние старых ответов и редиректов.
Способ 8. Проверить журнал событий и IIS-логи
- Откройте «Просмотр событий» и проверьте Application/System.
- Изучите код подстатуса в IIS-логах и время возникновения ошибки.
- Исправьте конкретный путь/модуль, указанный в журнале.
Полезные пути
- Каталог IIS:
%windir%\System32\inetsrv. - Логи IIS:
%SystemDrive%\inetpub\logs\LogFiles. - Конфигурация IIS:
%windir%\System32\inetsrv\config. - Журналы Windows:
%windir%\System32\winevt\Logs. -
Логи DISM/SFC:
%windir%\Logs\DISMи%windir%\Logs\CBS.
FAQ
Почему IIS возвращает ошибку 0x80070002 при запуске сайта?
Обычно IIS не находит физический путь сайта, файл web.config или исполняемый модуль. Также ошибка возникает при неверном пути к приложению в пуле или после переноса сайта без обновления конфигурации.
Какие настройки проверять в первую очередь в IIS Manager?
Сначала проверьте Basic Settings сайта: Physical path, привязки (Bindings), назначенный Application Pool и состояние пула. Затем убедитесь, что путь существует и содержит стартовый файл приложения.
Может ли ошибка 0x80070002 быть связана с правами папки?
Да, если у IIS_IUSRS или учётной записи пула нет прав чтения/выполнения, IIS не может открыть файлы сайта и фиксирует 0x80070002. Нужно выдать минимум Read & Execute на корневую папку проекта.
Как быстро проверить конфигурацию IIS из консоли?
Используйте команды appcmd list site и appcmd list apppool, а также проверьте статус службы W3SVC. Это позволяет быстро увидеть неверные пути, остановленные пулы и конфигурационные ошибки.
Что делать, если после исправления путей сайт всё равно не стартует?
Проверьте журнал событий Windows и логи IIS, отключите временно антивирусный фильтр для папки проекта и перезапустите IIS через iisreset. Если ошибка остаётся, переустановите нужный Hosting Bundle/.NET Runtime.
В большинстве случаев ошибка 0x80070002 в IIS устраняется после проверки физического пути, прав NTFS и состояния пула приложений. Дополнительный анализ журналов помогает быстро найти точную причину и восстановить запуск сайта.