Tôi đang chạy CentOS 5.5 với cổ phiếu Apache httpd-2.2.3.
Tôi đã kích hoạt mod_status ở trạng thái Vị trí / máy chủ. Tôi muốn cho phép truy cập vào Địa điểm duy nhất này theo cách sau:
- Tư chôi tât cả
- Cho phép từ mạng con 192.168.16.0/24
- Từ chối IP 192.168.16.100, nằm trong mạng con 192.168.16.0/24.
1 & 2 thật dễ dàng. Tuy nhiên, vì tôi "Cho phép từ 192.168.16.0/24", có thể từ chối từ 192.168.16.100 không?
Tôi đã cố gắng thêm một tuyên bố từ chối cho 192.168.16.100 nhưng nó không hoạt động. Đây là cấu hình có liên quan:
<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>
Hoặc là:
<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>
Tuy nhiên, điều này không ngăn truy cập vào trang cụ thể này, như được thể hiện trong nhật ký truy cập:
www.example.org 192.168.16.100 - - [11/Mar/2011:16:01:14 -0800] "GET /server-status HTTP/1.1" 200 9966 "-" "
Theo hướng dẫn cho mod_authz_host :
Cho phép từ chối
Đầu tiên, tất cả các chỉ thị cho phép được đánh giá; ít nhất một phải phù hợp, hoặc yêu cầu bị từ chối. Tiếp theo, tất cả các chỉ thị từ chối được đánh giá. Nếu bất kỳ trận đấu, yêu cầu bị từ chối
Địa chỉ IP khớp với chỉ thị Từ chối, vì vậy không nên từ chối yêu cầu?
Theo bảng trên trang mod_authz_host, địa chỉ IP này sẽ "Khớp cả Cho phép & Từ chối" và do đó, nên áp dụng quy tắc "Điều khiển đối sánh cuối cùng: Bị từ chối".
Cho phép kết hợp, Từ chối kết quả Từ chối, Cho phép kết quả Phù hợp Chỉ cho phép Yêu cầu được phép Yêu cầu được phép Khiếu nại chỉ từ chối Yêu cầu bị từ chối Yêu cầu bị từ chối Không khớp Mặc định cho lệnh thứ hai: Từ chối Mặc định cho lệnh thứ hai: Được phép Khớp cả hai Cho phép & Từ chối Điều khiển trận đấu cuối cùng: Từ chối Điều khiển trận đấu cuối cùng: Được phép
Allow from 192.168.16.0/24
. Theo tôi hiểu tài liệu, mọi IP của người yêu cầu trong mạng 192.168.16.0/24 sẽ khớp với câu lệnh Cho phép này, yêu cầu được cho phép.