W zeszłym tygodniu zadzwonił do mnie przestraszony klient, ponieważ myślał, że jego witryna została zhakowana. Kiedy spojrzałem na jego stronę internetową, zobaczyłem apache2
stronę domyślną. Tej nocy mój serwer ( Ubuntu 16.04 LTS
) zaktualizował się i uruchomił ponownie. Zwykle gdy coś pójdzie nie tak, zostałbym powiadomiony w nocy. Tym razem nie, ponieważ system monitorowania sprawdza kod stanu HTTP 200, a apache2
strona domyślna zawiera kod stanu 200.
Stało się tak, że podczas uruchamiania apache2
było szybsze połączenie z portami 80 i 443 niż mój rzeczywisty serwer WWW nginx. Sam nie instalowałem apache2. Przez aptitude why apache2
dowiedziałem się pakiet php7.0 wymaga.
Proste usunięcie apache2
nie zadziała, ponieważ najwyraźniej wymaga tego php7.0. Czy w jakiś sposób można stworzyć ograniczenie, aby tylko nginx mógł się łączyć z portami 80 i 443?
Inne rozwiązania są również mile widziane.
This time not, because the monitoring system checks for HTTP status code 200
. Możesz ulepszyć system monitorowania, sprawiając, że sprawdzi on rzeczywistą zawartość strony internetowej (niektóre ciągi znaków w treści lub nagłówku), będzie to bardziej niezawodne.