La scorsa settimana ho ricevuto una chiamata da un cliente spaventato perché pensava che il suo sito Web fosse stato violato. Quando ho cercato il suo sito Web ho visto la apache2
pagina predefinita. Quella notte il mio server ( Ubuntu 16.04 LTS
) si era aggiornato e riavviato. Normalmente quando qualcosa va storto sarei stato avvisato durante la notte. Questa volta no, perché il sistema di monitoraggio verifica il codice di stato HTTP 200 e la apache2
pagina predefinita viene fornita con il codice di stato 200.
Ciò che è accaduto è che durante l'avvio è apache2
stato più veloce associarsi alle porte 80 e 443 rispetto al mio nginx server web reale. Non ho installato apache2 da solo. Attraverso aptitude why apache2
ho scoperto che il pacchetto php7.0 lo richiede.
La semplice rimozione apache2
non funzionerà perché apparentemente php7.0 lo richiede. È in qualche modo possibile creare una restrizione in modo che solo nginx sia autorizzato a collegarsi alle porte 80 e 443?
Anche altre soluzioni sono più che benvenute.
This time not, because the monitoring system checks for HTTP status code 200
. È possibile migliorare il sistema di monitoraggio facendolo controllare il contenuto effettivo della pagina Web (una particolare stringa nel corpo o nell'intestazione), questo sarà più affidabile.