=서버 아닌 척, 제가 사용하는 꼼수ㅋ=

안녕하세요.

어떤 분이 질문/응답 게시판에 "IP주소로는 접속이 안되고 도메인으로만 접속되도록 설정"에 대해 질문하셨던데 이는 저도 알고싶었던 부분입니다.

왜냐하면 웹사이트들을 운영시, 방문객중에는 웹브라우저의 주소창에 굳이 도메인의 IP주소를 입력하여 사이트의 정체(?)를 캐내고자 하는  분들(좋게 말하면 탐정, 나쁘게 말하면 해커)이 계셨기 때문입니다.

통상 IP주소를 직접 입력하면 웹 루트가 나오게 되는데 이는 대표 도메인(호스팅 회사의 자체 페이지 등)일수도 있고 운영되지 않는 더미 디렉토리일수도 있습니다.(저는 웹 루트의 편리성(127.0.0.1로 접근가능)을 감안, 웹루트의 서브 디렉토리마다 실제 웹사이트의 파일들을 백업해 두고 연습용, 또는 프로그램 수정용으로 사용중)

암튼 제 경우, IP를 바로 치게되면 처음에는 "정상적인 접근이 아닙니다. 올바른 도메인명으로 방문하세요. 귀하의 IP(***.***.***.***)가 저장되었습니다."라는 메세지를 내 보내기도 했고 index 파일에 리다이렉션 명령을 삽입하여 엉뚱한 사이트로 보내(?)버리기도 했는데 나중에는 웹서버가 아닌 엉뚱한 IP주소로 포워딩시켜 외부에서 볼때는 마치 일반 PC인 것 처럼 위장(?)하게 되었습니다.(서버 아닌척ㅋㅋㅋ)

그러나 index 파일 레벨에서 리다이렉션을 하는 경우, IP주소(예를들면 http://222.222.222.2/)만 치면 정상적으로 리다이렉션이 되지만 IP주소 옆에 아무 디렉토리, 또는 파일명(예를들면 http://222.222.222.2/korea.html)을 치게 되면 "파일이 없습니다"는 서버에러 메시지가 출력되어 역시 서버라는 것이 들통(?)나게 되더군요.

현재 사용하는 방법은 아파치 설정파일 레벨에서 IP를 치고 들어온 방문자들의 경우, 엉뚱한 IP로 리다이렉션시켜 "서버 아닌척"하는 것입니다.

즉 httpd-user.conf 파일 설정중 도메인명으로 된 버추얼 호스트 설정이 시작되기 직전, 다음과 같은 내용을 삽입하였습니다.

<VirtualHost *>
    ServerName 제 서버 IP
    Redirect / http://엉뚱한 IP/
</VirtualHost> 

이렇게 설정하면 127.0.0.1로는 정상적인 접근이 가능하지만 공인 IP를 치게되면 엉뚱한 IP주소로 리다이렉션되어 겉보기로는 마치 "서버 아닌척" 할 수가 있더라구요.

아무리 생각해도 꼼수는 꼼수인데 더 좋은 방법이 있는 분은 노하우를 알려주시면 감사하겠습니다^^

===================================

PS: 상기 httpd-user.conf 파일의 버추얼호스트 설정과 관련, 유동IP를 사용하는 경우에는 IP주소 변경시마다 httpd-user.conf 파일을 수정해 주어야 하는데 이는 php 스크립트로 자동수정이 가능합니다.

즉 웹브라우저의 홈 주소중 하나에 httpd-user.conf 파일 수정용 php 스크립트로 등록하면 웹브라우저가 최초 실행될때 현재의 실제 IP주소와 httpd-user.conf 파일에 정의된 IP주소를 비교하여 변경된 경우 자동 수정하고 "아파치 서버를 재시동하라"는 팝업창을 띄워줄 수 있습니다.(또는 php 스크립트에 리프레쉬 태그를 사용하여 일정 주기로 IP 변경여부 반영가능); 상기 httpd-user.conf 설정부분은 실제 IP와 다르더라도 아파치 서버의 작업에 문제를 발생시키는 것은 아님.