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