На прошлой неделе мне позвонил напуганный клиент, потому что он думал, что его сайт взломан. Когда я посмотрел его сайт, я увидел apache2
страницу по умолчанию. Той ночью мой сервер ( Ubuntu 16.04 LTS
) обновился и перезагрузился. Обычно, когда что-то идет не так, меня бы предупредили ночью. На этот раз нет, потому что система мониторинга проверяет HTTP-код состояния 200, а apache2
страница по умолчанию поставляется с кодом состояния 200.
Случилось так, что во время запуска apache2
было быстрее связываться с портами 80 и 443, чем мой реальный веб-сервер nginx. Я не устанавливал apache2 сам. Через aptitude why apache2
я обнаружил, что пакет php7.0 требует этого.
Простое удаление apache2
не будет работать, потому что, очевидно, php7.0 этого требует. Можно ли как-то создать ограничение, чтобы только nginx мог связываться с портами 80 и 443?
Другие решения также приветствуются.
This time not, because the monitoring system checks for HTTP status code 200
. Вы можете улучшить систему мониторинга, сделав так, чтобы она проверяла фактическое содержимое веб-страницы (некоторую конкретную строку в теле или заголовке), это будет более надежным.