달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Apache 와 톰캣을 연동 했을경우에 골때리는 문제가 하나 생긴다.

 

아파치에서는 Domain 별 디렉토리를 가상호스트로 지정하여 사용하여야 하는데 주소는 다음과 같다.

 

http://aaa.com

 

이 주소에 대하여 DocumentRoot 를 지정할 경우 아래와 같이 특정 디렉토리를 명시하게 된다.

DocumentRoot /usr/local/tomcat4/webapps/ROOT

 

만약 가상호스트로 설정되어있다면

<VirtualHost ....>

   DocumentRoot /usr/local/.......

   .....

</VirtualHost>

 

 

 

또한 aaa.com/test/images 라고 요청 할 경우 디렉토리는 당연히

/usr/local/tomcat4/webapps/ROOT/test/images 와 같은 형태로 요청하게 된다.

 

문제는 test 라는 디렉토리가 하나의 컨텍스트 였을 경우 발생하게 된다.

 

톰캣에서 하나의 웹 애플리케이션의 구성은 webapps/ 를 기준으로 /ROOT  , /examples 등이 있게 된다.

 

이것은 하나의 가상호스트처럼 동작하게 되지만 Apache 에서 볼때는 하나의 디렉토리로 인식하게 되는 것 같다.

 

즉 이 얘기는 http://aaa.com:8080/test 라고 요청할 경우 test 라는 하나의 컨텍스트로 인식하여

 

test 웹 애플리케이션을 호출해 주겠지만 아파치와 연동 되었을 경우에는

 

/test 를 단지 ROOT 애플리케이션의 서브디렉토리로 인식하게 된다는 것이다.

 

아파치에서 톰캣으로 요청을 넘길때 /test/*.jsp  ... /test/*.do 와 같이 넘기게 되면

톰캣에서는 test 라는 하나의 컨텍스트 차원에서 처리를 하지만 아파치에서는 .jsp 와 .do 를 제외한 모든 자원을 test 라는 디렉토리로 보고 처리를 한다는 것이다.

 

이때는 이 컨텍스트를 하나의 도메인으로 빼는게 맞는것 같고...

 

네임서버에서 test.aaa.com 과 같은 형태로 주던지... bbb.com 이라는 완전한 도메인을 빼던지

해주고... Apache 에서 DocumentRoot 를 따로 지정해 주는게 바른 방향 같다.

 

글쓰다가 회의해서리.. 뭔소린지.. 꼬이네.. 캬캬캬

 

 

 

Posted by tornado
|