: 안녕하세요.
:
: 특정 ip 를 httpd(apache)의 접근을 거부하고 싶습니다.
:
: <Directory "/home/*/public_html">
: Order deny,allow
: Allow from all
: Deny from 아이피주소
: </Directory>
:
: 해봤는데 역시 안되더군요. ^^;;; 어떻게 해야 좋을까요
저 역시 초보지만 아는데로 알려드립니다.
/etc/hosts.allow 와 /etc/hosts.deny로 접근을 제어할 수 있습니다.
전자는 허용, 후자는 거부하는 것입니다. 하지만 deny에 있는 ip나 도메인도
allow에서 허용하면 상관없이 허용됩니다. 그러니까 우선 순위는 allow에
있습니다.
예를 들어 hosts.deny 파일을 열어
" all:all "
(서비스데몬: 해당 도메인, 또는 IP)
이라고 적으면 모든 호스트에 대해 모든 서비스를 거부합니다.
그런데 allow 파일에
"all: 127.134.2.1, www.abc.co.kr"
이렇게 적어놓으면 127.134.2.1 과 www.abc.co.kr 에게만
모든 서비스를 제공하게 됩니다.
특정 ip에대해 http 서비스를 거부하고 싶다면
allow 파일은 비워두시고
deny 파일에 그 특정 ip나 도메인을 적으면 됩니다.
예) /etc/hosts.deny 파일에 아래를 추가
in.httpd: 211.234.22.21 <---- 거부하기 원하는 IP
위와 같습니다. 만약 여러 ip나 클래스 별로도 지정가능
예)
in.httpd: 211.242.22.12, 242.244.22.1, 121.23., www.adb.co.kr 이것은 단지 저장하는 것만으로 접근제한
이 바로 적용됩니다. 원하시는 답이 되는지 모르겠습니다.
좋은 하루 되시기를..