Apache 와 톰캣을 연동 했을경우에 골때리는 문제가 하나 생긴다.
아파치에서는 Domain 별 디렉토리를 가상호스트로 지정하여 사용하여야 하는데 주소는 다음과 같다.
이 주소에 대하여 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 를 따로 지정해 주는게 바른 방향 같다.
글쓰다가 회의해서리.. 뭔소린지.. 꼬이네.. 캬캬캬
'JAVA > JSP_Servlet' 카테고리의 다른 글
톰캣에서 계정 사용자 인식하기.. (0) | 2004.05.28 |
---|---|
Commons BeanUtils 에서 RowSetDynaClass 사용시에.. (0) | 2004.04.21 |
<html:link /> 태그 중에서 ^^ (0) | 2004.04.07 |
[Struts] MessageResource 여러개 쓰기 (0) | 2004.04.01 |
[펌] MVC 모델과 Observer 패턴 (0) | 2004.04.01 |