Secara Default Apache menampilkan versi dan OS yang digunakan
Untuk menyembunyikannya lakukan konfigurasi seperti berikut
Salin file konfigurasi original
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
Edit file konfigurasi Apache
sudo nano /etc/apache2/apache2.conf
Tambahkan baris berikut di paling bawah
# KONFIGURASI TAMBAHAN
ServerSignature Off
Ketika kita menonaktifkan default virtual host dan mengakses web server menggunakan IP Address maka yang ditampilkan adalah random virtualhost yang ada di server tersebut.
Untuk mengatasi hal tersebut kita aktifkan default virtualhost dan edit konfigurasinya seperti berikut
Salin default virtualhost original
cp 000-default.conf 000-default.conf.bak
cp default-ssl.conf 000-default-le-ssl.conf
Edit
sudo nano /etc/apache2/sites-available/000-default.conf
sudo nano /etc/apache2/sites-available/000-default-le-ssl.conf
Tambahkan baris berikut di paling bawah di kedua file diatas
# Aturan untuk mengirim 404 (Not Found)
Redirect 404 /
# Atau aturan untuk mengirim 403 (Forbidden)
# Redirect 403 /
# Opsional: jika ingin menampilkan halaman khusus untuk 404
# ErrorDocument 404 /404.html
Langkah terkahir aktifkan virtualhost
a2ensite 000-default
a2ensite 000-default-le-ssl.conf
Reload dan restart service Apache
systemctl reload apache2
systemctl restart apache2
Alasan menyalin file
default-ssl
menjadi000-default-le-ssl.conf
adalah karena saya mendapati masalah ketika mengaktifkan virtualhost default-ssl malah diarahkan ke virtualhost https yang lain, asumsi saya jika tidak terdapat parameter ServerName pada konfigurasi virtualhost https Apache membaca urutan berdasarkan nama.