Минулого тижня мені подзвонили від переляканого клієнта, оскільки він вважав, що його веб-сайт зламаний. Коли я заглянув на його веб-сайт, я побачив 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
. Ви можете вдосконалити систему моніторингу, зробивши її для перевірки фактичного вмісту веб-сторінки (певного рядка в тілі чи заголовку), це буде більш надійним.