Di /etc/httpd/conf/httpd.conf Anda, jika arahan Dengarkan Anda
Listen 80
Itu kejam
*:80
Anda telah menentukan pasangan <listener>
+ <servename>
di /etc/httpd/conf/httpd.conf dan /etc/httpd/conf.d/default.conf yang sama: *:80
+ <server-ip>
. Jadi, Apache hanya memperhitungkan satu.
Jadi, konfigurasi vhost Anda tidak ada gunanya.
/Etc/httpd/conf/httpd.conf Anda sudah cukup untuk memblokir akses ke direktori / var / www / html Anda.
Cukup tambahkan:
<Directory /var/www/html>
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
Silakan baca ke https://httpd.apache.org/docs/2.4/en/vhosts/name-based.html#alg :
Bagaimana server memilih host virtual berbasis nama yang tepat
Penting untuk mengenali bahwa langkah pertama dalam resolusi host virtual berbasis nama adalah resolusi berbasis IP. Resolusi host virtual berbasis nama hanya memilih host virtual berbasis nama yang paling tepat setelah mempersempit kandidat menjadi pasangan berbasis IP terbaik. Menggunakan wildcard (*) untuk alamat IP di semua arahan VirtualHost membuat pemetaan berbasis IP ini tidak relevan.
Ketika permintaan datang, server akan menemukan argumen yang cocok (paling spesifik) berdasarkan pada alamat IP dan port yang digunakan oleh permintaan. Jika ada lebih dari satu host virtual yang berisi kombinasi port dan alamat yang paling cocok ini, Apache selanjutnya akan membandingkan arahan ServerName dan ServerAlias dengan nama server yang ada dalam permintaan.
Jika Anda menghilangkan direktif ServerName dari host virtual berbasis nama apa pun, server akan default ke nama domain berkualifikasi lengkap (FQDN) yang berasal dari nama host sistem. Kumpulan nama server yang tersirat ini dapat menyebabkan pencocokan host virtual kontra-intuitif dan tidak disarankan.
Vhost berbasis nama default untuk IP dan kombinasi port Jika tidak ada ServerName atau ServerAlias yang cocok ditemukan dalam set host virtual yang berisi alamat IP dan kombinasi port yang paling spesifik, maka host virtual terdaftar pertama yang cocok dengan yang akan digunakan.