Проблема: После установки Indeed CM Server или Enterprise Management Console и настройки файлов конфигурации получаем ошибку Internet Explorer HTTP Error 503. The service is unavailable ("Сервис недоступен") при попытке выполнить вход в любой из web-сервисов системы.
Операционная система машины: Windows Server 2008 SP2 x64 или Windows Server 2008 R2 SP1.
Пул приложений IndeedCM (IndeedEMC) при этом остановлен:
Запуск пула приложений IndeedCM (IndeedEMC) не решает проблему - при попытке выполнить вход в любой из web-сервисов системы снова появляется ошибка "HTTP Error 503. The service is unavailable.", а пул приложений IndeedCM (IndeedEMC) принудительно останавливается.
В системном журнале System (Система) зафиксировано событие ошибки с текстом: "Application pool 'IndeedCM' is being automatically disabled due to a series of failures in the process(es) serving that application pool."
В системном журнале Application (Приложение) зафиксирован ряд событий ошибок с текстом: "The Module DLL '<путь к файлу dll библиотеки>' could not be loaded due to a configuration problem. The current configuration only supports loading images built for a x86 processor architecture. The data field contains the error number."
Причина 1: Это известная проблема Microsoft. Проблема заключается в попытке загрузки x64 версий dll библиотек компонентов Microsoft (например, MS Exchange или RPC через HTTP Proxy) в x86 процессы в пуле приложений. Избавиться от проблемы можно двумя способами:
Вариант решения 1: Выключить настройку "Разрешены 32-разрядные приложения" ("Enable 32-bit Applications") в настройках пула приложения IndeedCM (IndeedEMC). Для доступа к настройкам необходимо выбрать "Дополнительные параметры" ("Advanced Settings") в меню пула приложений IndeedCM (IndeedEMC).
Вариант решения 2: В конфигурационном файле IIS applicationHost.config (обычно расположен в папке С:\Windows\System32\inetsrv\config) для проблемной dll явно задать ее битность и возможность загрузки лишь для x64 приложений.
Для этого в файле applicationHost.config в строке конфигурации для данной dll библиотеки необходимо задать параметр preCondition="bitness64" (поиск строки можно выполнить по пути к файлу dll).
Формат строки: <add name="<имя модуля>" image="<путь к файлу dll библиотеки>" preCondition="bitness64" />
Если проблема возникает для нескольких dll библиотек (после добавления параметра preCondition="bitness64" для одной dll библиотеки, ошибка "HTTP Error 503. The service is unavailable." продолжает появляться, а в журнале событий продолжают фиксироваться ошибки для другой dll), необходимо прописать параметр preCondition="bitness64" для всех dll библиотек.
Причина 2: Учетная запись, от имени которой работает пул приложений IndeedCM не действительна заменю (имеет неверный пароль или его срок действия истек).
Решение: Если используется встроенная учетная запись ApplicationPoolIdentity (по умолчанию) и ошибка наблюдается с ней, то следует проверить работает ли стандартный пул приложений IIS (DefaultAppPool) с данной учетной записью. Если нет, значит проблема связана с ошибками в работе или настройке IIS. Для экстренного восстановления работоспособности Indeed CM для работы пула IndeedCM можно указать другую встроенную учетную запись (например, NetworkService).
В случае использования специализированной учетной записи (Custom account), убедитесь, что она действительна (не заблокирована, пароль указан верный и срок его действия не истек) или задайте новую в соответствии с рекомендациями Microsoft.
|