2009-06-30 4 views
1

mod_jk 1.2를 사용하여 백엔드 tomcat의 클러스터에 대한로드 밸런서 역할을하는 Apache 2.0 HTTPD가있는 상황이 있습니다. 응용 프로그램 자체는 톰캣 서버에 저장되어있는, 그래서 모든 요청은 (심지어 이미지, CSS 등)를 통해 전달되는 바람둥이 사용하여 가상 호스트 CONFIGS에 다음과 :DocumentRoot와 modjk의 일부 경로 패턴을 어떻게 제공합니까?

JkMount /* worker-name 

가상 호스트가없는 모든 트래픽이 파이프를 통해 Tomcat으로 이동하기 때문에 DocumentRoot가 정의됩니다.

Apache에서 정적 컨텐츠를 직접 제공하기를 원합니다 (과격한 아이디어입니다, 알고 있습니다). 애플리케이션 경로 구조가 주어지면 정적 콘텐츠와 동적 콘텐츠를 구별하는 유일한 방법은 요청 된 경로의 파일 확장입니다. 예를 들어 .jpg, .css, .ico 등으로 끝나는 모든 요청은 JkMount를 통해 전달되지 않고 대신 DocumentRoot에서 제공됩니다.

그래서 그 맥락입니다. 내 질문은 어떻게 주어진 패턴 (구체적으로 우리가 아파치에서 제공하고 싶은 것의 패턴)과 일치하는 모든 요청이 DocumentRoot에서 제공되고 다른 모든 요청은 Tomcat으로 전달되도록 가상 호스트를 구성 할 수 있는가?

JkMount의 정규식으로이 작업을 수행 할 수 있습니까? JkMount은 융통성이 있습니까? 그렇지 않다면 mod_rewrite를 사용할 수 있습니까?

+0

이것은 더 많은 serverfault.com 자료로 볼 수 있지만, 기존 응용 프로그램 경로 구조와 밀접하게 연결되어 있으므로 여기에 설명했습니다. – skaffman

답변

4

JkUnMount를 사용하여 특정 요청이 mod_jk에 의해 처리되지 않음을 나타낼 수 있습니다. 파일 확장자와 경로를 사용한 예를 보았습니다.

JkMount /* worker-name 
JkUnMount /*.jpg worker-name 
JkUnMount /images/* worker-name 

자세한 내용은 here을 참조하십시오.

+0

결국, 당신이 제공 한 링크에 대해 읽은 no-jk 환경 변수를 사용하기로 결정 했으므로 답변을 드리겠습니다. :) – skaffman

관련 문제