Blokir akses IP pada Apache
Dapat pertanyaan tambahan soal pembahasan saya sebelumnya dimana pada Nginx website yang dihosting didalamnya bisa dibuka apabila lewat alamat IP. Bedanya sekarang web servernya berubah menjadi Apache. Kalau anda tidak ingin situs default didalamnya bisa diakses lewat alamat IP servernya maka solusinya mudah, blokir saja. 😀
Karena saya tidak diberitahu ini pakai Apache versi berapa jadi saya buatkan solusinya untuk versi 2.2 dan 2.4 yang ada perbedaan sedikitdalam penulisan konfigurasinya. Semua asumsinya pakai port HTTP ya, kalau HTTPS tinggal edit sendiri.
Apache 2.2
Listen 80
NameVirtualHost 192.168.1.73:80
<Directory "/var/www/nama_domain.com/public_html">
Order allow,deny
Allow from all
</Directory>
<VirtualHost 192.168.1.73:80>
ServerName 192.168.1.73
DocumentRoot /var/www/nama_domain.com/public_html
<Location />
Order deny,allow
Deny from all
</Location>
</VirtualHost>
<VirtualHost 192.168.1.73:80>
ServerName nama_domain.com
DocumentRoot /var/www/nama_domain.com/public_html
</VirtualHost>
Apache 2.4
<VirtualHost *:80>
ServerName default
DocumentRoot /var/www/nama_domain.com/public_html
<Location />
Require all denied
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName nama_domain.com
DocumentRoot /var/www/nama_domain.com/public_html
</VirtualHost>
Yang pasti sesuaikan alamat IP dalam setelan diatas dengan yang anda pakai, juga nama domain, dan tempat direktori hostingnya. Kalau dicopas begitu saja saya jamin bermasalah. Ambil seperlunya dan adaptasikan.
Setelah itu restart proses Apache dan coba buka alamat IP VPS anda langsung, mestinya akan gagal.