>> Delete No. 27945 article
No. ip based port별 버츄얼 호스팅

등록 2001-04-21 15:20:00 By localhost     조회 2
이름 초버    

		우선, 어떤 이유로 도메인으로 버츄얼 호스팅은 안되고
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