Назад | Перейти на главную страницу

Как исследовать периодически возникающие проблемы «сбоя входа в систему» ​​Windows Server?

В настоящее время я работаю над проектом, для которого предпочтительнее использовать веб-сервер Apache, но Windows является обязательной. Я не использовал WAMP несколько лет, но сейчас считаю, что он работает хорошо и стабильно. У нас есть четыре веб-сервера, каждый в двух парах с балансировкой нагрузки. Apache запускается как служба Windows.

Коллега нашел некоторую информацию, в которой говорится, что безопаснее запускать Apache под собственной учетной записью, а не под локальной системной учетной записью. Таким образом, локальная учетная запись была создана в каждом поле, и учетные данные введены на вкладке «Вход в систему» ​​в диалоговом окне «Свойства службы».

Время от времени, когда конфигурация Apache изменяется, мне нужно перезапускать каждую службу. Для этого я выбираю запись Apache2.4 в окне «Службы» и нажимаю кнопку перезапуска. Однако для всех ящиков вопрос о том, будет ли он успешным, не решен. Когда это не удается, я получаю сообщение об ошибке Windows, в котором говорится:

Windows не может запустить службу Apache2.4 на локальном компьютере.

Ошибка 1069: служба не запускалась из-за сбоя входа в систему.

Итак, я послушно добавляю пароль службы снова, всякий раз, когда это происходит, и затем она всегда запускается. Я предполагаю, что диалог забывает пароль, который ему был дан. Он никогда не забывает имя пользователя.

Я изучил разрешения, предоставленные этому локальному пользователю в разделе «Локальная политика безопасности» -> «Локальные политики» -> «Назначение прав пользователя» -> «Вход в качестве службы. Свойства», и обнаружил, что пользователь является там обычно, но если он пропадает, перезапуск Apache не удастся.

Изучая это, я обнаружил этот идентичный сценарий (хотя служба в этом случае - PostgreSQL). Однако, на мой взгляд, принятый ответ об использовании учетной записи локальной системы не является ответом на поставленный вопрос. Возникает вопрос: почему пользователь теряет право входить в систему в качестве службы?

Не требуется перезапускать HTTP-сервер Apache для перезагрузки конфигурации, вы можете просто запустить

C:\Apache24\bin\httpd.exe -k restart

Таким образом, будут перезапущены только дочерние процессы HTTP-сервера Apache, и ваш сервер не пропустит запрос.

Если эти серверы Windows являются членами домена, то возможно, что какая-то групповая политика перезаписывает эту локальную политику «входа в систему в качестве службы».

Обсудив это с коллегой, мы почти уверены, что групповая политика меняет вещи, как говорит bcs78. Нам также сообщили, что у нас нет шансов изменить Политику.

У нас есть:

  1. Два веб-сервера с выходом в Интернет, не входящие ни в одну группу AD
  2. Два веб-сервера в локальной сети в группе AD на уровне сайта
  3. Тестовый сервер разработки в локальной сети в той же группе AD, что и (2)

Я не помню, на каких именно серверах возникла проблема, но вполне возможно, что это только серверы AD (2) и (3). Так как это серверы LAN и защищенные брандмауэром, мы приняли решение снова переключить их, чтобы запустить Apache в качестве «локальной системной учетной записи».

Мы надеемся, что передние веб-серверы в (1) не будут затронуты этой Политикой, поэтому мы можем сохранить там конфигурацию, которую предпочитаем.