Saya menjalankan CentOS 5.5 dengan stok Apache httpd-2.2.3.
Saya telah mengaktifkan mod_status di Lokasi / status server. Saya ingin mengizinkan akses ke Lokasi tunggal ini dengan cara berikut:
- Tolak semua
- Izinkan dari subnet 192.168.16.0/24
- Tolak dari IP 192.168.16.100, yang berada dalam subnet 192.168.16.0/24.
1 & 2 itu mudah. Namun, karena saya "Izinkan dari 192.168.16.0/24", apakah mungkin untuk Menolak dari 192.168.16.100?
Saya mencoba menambahkan pernyataan Deny untuk 192.168.16.100 tetapi tidak berhasil. Berikut adalah konfigurasi yang relevan:
<Location /server-status>
SetHandler server-status
Order Allow,Deny
Deny from all
Deny from 192.168.16.100 # This does not deny access from 192.168.16.100
Allow from 192.168.16.0/24
</Location>
Atau:
<Location /server-status>
SetHandler server-status
Order Allow,Deny
Deny from all
Deny from 192.168.16.100 # This does not deny access from 192.168.16.100
Allow from 192.168.16.0/24
</Location>
Namun, ini tidak mencegah akses ke halaman khusus ini, seperti yang ditunjukkan dalam Access log:
www.example.org 192.168.16.100 - - [11/Mar/2011:16:01:14 -0800] "GET /server-status HTTP/1.1" 200 9966 "-" "
Menurut manual untuk mod_authz_host :
Memungkinkan menyangkal
Pertama, semua arahan Allow dievaluasi; setidaknya satu harus cocok, atau permintaan ditolak. Selanjutnya, semua arahan Tolak dievaluasi. Jika ada yang cocok, permintaan ditolak
Alamat IP cocok dengan arahan Tolak, jadi bukankah permintaan itu harus ditolak?
Menurut tabel pada halaman mod_authz_host, alamat IP ini harus "Cocokkan berdua Izinkan & Tolak", dan dengan demikian aturan "Kontrol kecocokan akhir: Ditolak" harus berlaku.
Match Allow, Tolak hasil Tolak, Bolehkan hasil Cocokkan saja yang diizinkan. Permintaan diizinkan. Permintaan diizinkan Hanya Tolak Pertandingan. Permintaan ditolak Tidak ada kecocokan Default ke arahan kedua: Ditolak Default ke arahan kedua: Diizinkan Cocokkan Baik & Tolak Kontrol pertandingan final: Ditolak Kontrol pertandingan final: Diizinkan
Allow from 192.168.16.0/24
. Seperti yang saya pahami dokumentasi, setiap IP pemohon dalam jaringan 192.168.16.0/24 akan cocok dengan pernyataan Perbolehkan ini, permintaan diizinkan.