>> Edit article
이름
제목
패스워드
우선, 어떤 이유로 도메인으로 버츄얼 호스팅은 안되고 ip기반의 포트별 버츄얼호스팅을 해야하는데요...--; -------------httpd.conf DocumentRoot "/var/www/html" ServerName http://111.111.111.111 Listen 80 Listen 8080 NameVirtualHost 111.111.111.111:8080 <VirtualHost 111.111.111.111:8080> DocumentRoot /home/nara/public_html/ ServerName 111.111.111.111 ErrorLog /home/nara/logs/error_log CustomLog /home/nara/logs/access_log common </VirtualHost> ---------------- 이렇게 해서 도메인세팅안하고 순수히 ip만으로 ip하나에 포트별로 웹서비스가 가능하게 하였습니다. 잘 되는 군요.. (Linux version 2.2.17-8wl2 커널버젼, apache-1.3.14-3kr 아파치버젼) 그런데.. (Linux version 2.2.14-12krsmp, apache_1.3.12) 에서 같은 방법으로 세팅했는데 80포트로 접속하는 것이나 8080포트로 접속하는 것이나 똑같은 디렉토리로 접근을 하면서 에러를 다음과 같이 냅니다. [Fri Apr 20 21:13:41 2001] [error] [client 111.111.111.111] File does not exist: /home/httpd/html/index.html [Fri Apr 20 21:13:46 2001] [error] [client 111.111.111.111] File does not exist: /home/httpd/html/index.html 당연히 이 디렉토리는 index.html이 없거든요 ---------------------httpd.conf DocumentRoot "/home/httpd/html" ServerName http://222.222.222.222 Listen 80 Listen 8080 NameVirtualHost 222.222.222.222:8080 <VirtualHost 222.222.222.222:8080> ServerName 222.222.222.222 DocumentRoot /home/nara1/public_html/ ErrorLog /home/nara1/logs/error_log CustomLog /home/nara1/logs/access_log common </VirtualHost> ----------------------------------------------------------- apachectl로 문법체크에도 오류나지 않고 정상적으로 아파치가 구동되며 디폴트인 80포트로는 접속과 디렉토리를 잘 찾는데 버츄얼호스팅하는 8080포트로 접속하면 디폴트인 80포트로 들어가게 되요..--; 서버는 방화벽이 설치된 뒷단에 있고 ip는 사설아이피로 되어있지만 포트와 ip모두 정상적으로 쿼리등 이상없이 작동하며 테스트를 거쳤습니다. 물론 방화벽도 80과 8080은 뚤려 있고요... 그런데 왜 다른 디렉토리로 잡아준 가상호스트가 왜 디폴트 디렉토리로 가게 되는 것인지 이유를 알 수가 없습니다. 커널이나 아파치버젼이 달라서 그런건지...--; ------------------------------------------------------ 처음에는 리눅스서버자체가 사설ip로 되어있어 그런것이라 단순히 생각 해봤는데 사실 방화벽에서 공인ip를 가지고 이 사설ip로 매핑되어있기 때문 에 외부에서 공인ip로 텔렛,ftp다 들어올수 있거든요.. 또한, httpd.conf의 nameserver 부분이 이 공인ip로 잡혀있어 실제로 http://공인아이피 로 찾을 수 있거든요... 그래서 혹시 /etc/resolv.conf에 있는 ip와 실제 리눅스 자체는 사설ip이므 로 혹시 못찾는 것이 아닐까 하고 생각해 봤지만 그것도 밖에서 찾아서 들어오 니 상관 없고 방화벽에서 80.8080을 모두 허용했으니 실제 http://공인아이 피:8080 으로 하면 디폴트디렉토리로 들어가니 어쩃든 정상적으로 포트로 접속하는 것이고 .... 휴~ 하루종일 삽질했는데 정확한 원인을 모르겠습니다. 아무튼 문제는 http://공인아이피 와 http://공인아이피:8080 이 같은 디렉토리로 접속을 하는 것입니다. 왜 그럴까요...어디가 문제인지 쩝....--; <첨부> ---------------------httpd.conf DocumentRoot "/home/httpd/html" ServerName 222.222.222.222 Listen 80 Listen 8080 NameVirtualHost 222.222.222.222 <VirtualHost 222.222.222.222:8080> ServerName 222.222.222.222 DocumentRoot /home/nara1/public_html/ ErrorLog /home/nara1/logs/error_log CustomLog /home/nara1/logs/access_log common </VirtualHost> ----------------------------------------------------------- 위의 처럼 해도 됩니다. 다른 서버의 apache 1.3.12에서도 잘 되는 군요 단지 커널버젼이 2.2.15라서 2.2.14버젼보다 한 끝발 높지만 이것 떄문에 그런건지는 더이상 확인을 할 수가 없습니다. 하지만 중요한 단서를 얻었죠 apachectl로 문제있는 서버의 문법체크를 해보니 [warn] NameVirtualHost 222.222.222.222:80 has no VirtualHosts Syntax OK 이렇게 나오는 군요 문법은 맞는데 네임버츄얼호스트인 222.222.222.222:80는 버츄얼호스트를 가지지 못한다는 건데요... 사실 httpd.conf에 이런 222.222.222.222:80 를 써준곳이 없습니다. 그리고, 만약 정말 아무튼 이 서버의 아파치가 버츄얼호스트를 지원못한다면 왜 그런지 그리고 어디서 설정을 해주어야 하는지...apm을 다시 깔아야 하는 지 정말 모르겠네요...무작정 다시 깔기에는 좀 그런데........--;(다시 깐다고 해결될 지도 의문이고.......) 그리고 여전히 222.222.222.222:8080로 접속하면 222.222.222.222의 디렉토 리(80포트) 로 접속을 하게 됩니다........ 정말 미치겠네요...--;
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved