Ошибка IIS ApplicationPoolIdentity 503 - PullRequest
3 голосов
/ 20 июля 2011

Я недавно портировал в другую хостинговую компанию (VDS) и на новом сервере установил IIS 7.5 Express, последние версии PHP и MySQL.

Затем я скопировал файлы со старого сервера на новый сервер (НИЧЕГО, кроме содержимого папок моих веб-сайтов, поэтому никаких файлов конфигурации или чего-либо еще, кроме web.configs на самих сайтах), настроил веб-сайты. Я попытался зайти на веб-сайт и получил сообщение 503 Service Unavailable, которое пробовал удаленно и локально на сервере, без изменений.

Пробовал на каждом сайте, даже на веб-сайте по умолчанию, без изменений: все еще 503. Я проверил права доступа к папкам веб-сайтов (и всем дочерним элементам), и обе мои учетные записи, сетевая служба, администраторы эффективно контролируют все содержимое.

Все приложения запускаются в DefaultAppPool, который работает в ApplicationPoolIdentity. Попытался создать новый пул приложений, переместить туда сайты, не повезло, попытался установить для параметра «Загрузить профиль пользователя» значение «Ложь» в настройках пула (см. Здесь Ошибка HTTP 503 в IIS 7.5 после установки SP ), без изменений.

Просмотрщик событий очень подробно говорит:

"A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was '2356'. The process exit code was '0xfffffffe'."

и ничего больше. Пять раз эта ошибка, и пул закрывается из-за быстрой защиты. Я перезагружаю бассейн, попробуйте еще раз, ничего не меняется. Неважно, что я пытаюсь получить .aspx, .php или статический контент. Вот самая странная часть: когда я настраиваю пул приложений для запуска под LocalSystem, он работает. Нет проблем. Но все остальное терпит неудачу.

Я проверял папки веб-сайта около десяти раз, менял, стирал, повторно добавлял права и т. Д., Пробовал все, но без изменений. Как будто есть другой файл, который я забыл проверить, что пользователь пула не может получить к нему доступ. Но просмотрщик событий мне не помогает. Это началось с нового сервера, и я попытался после установки всего, поэтому я не могу сказать, после чего это началось. Я явно не буду работать под LocalSystem. Даже мой собственный пользователь, Администратор, не работает.

Единственное работающее удостоверение - это LocalSystem. Мой пользователь, LocalService, NetworkService, ApplicationPoolIdentity все отказывают одинаково. Я схожу с ума, я на 99% уверен, что это проблема с правами пользователя. Но все файлы сайта доступны, и я ничего не изменил ни в inetconfig system32, ни где-либо еще.

1 Ответ

3 голосов
/ 20 июля 2011

Хорошо, нашёл свой ответ снова.Процесс w3wp.exe запускается под пользователем DefaultAppPool, а не через NETWORK SERVICE.Я не знаю, почему он не работает под NETWORK SERVICE, но после некоторых исследований выяснилось, что процессу нужен доступ к C:\Windows\System32\inetsrv\config\schema, и предоставление доступа к NETWORK SERVICE ничего не изменило.По совпадению я где-то нашел пользователя DefaultAppPool, дал разрешения на чтение, и после запуска пула все мои сайты начали работать отлично.Довольно странно, я всегда думал, что процессы IIS по умолчанию запускаются в NETWORK SERVICE, и я уверен, что я не изменил никаких настроек.

...