본문 바로가기

WEB/Apache,OHS

OHS - WLS 연동 관련 옵션 정리

mod_wl_ohs.conf 관련 옵션 정리

 

 

 

01. OHS - WLS 연동

 

연동 방법 #01. 특정 확장자 파일은 WLS가 처리하도록 설정
반드시 <IfModule weblogic_module> 태그 안에 연동 옵션 넣어야 하는 것은 아님.
그래도 일반적으로는 태그 안에 넣는 것이 보기에 좋을 것임


(예시)
<IfModule weblogic_module>
      WebLogicCluster 192.168.56.1:9001,192.168.56.1:9002
      MatchExpression *.jsp
      MatchExpression *.do
      MatchExpression *.xx
</IfModule>


=> jsp, do, xx 확장자로 된 파일은 모두 WLS 9001, 9002 포트에서 처리한다
=> 9001 과 9002 포트 모두 동일한 Application이 배포되어 있을 경우 사용함

 

 

연동 방법 #02. 특정 URL 이 포함된 요청은 모두 WLS가 처리하도록 설정
<Location> 태그를 사용한다


(예시)
<Location /homeapp>
      SetHandler weblogic-handler => 해당 옵션 필수로 적어야 함
      WebLogicCluster 192.168.56.1:9001
      MatchExpression *.jsp
      MatchExpression *.do
      MatchExpression *.xx
</Location>


<Location /webediapp>
      SetHandler weblogic-handler
      WebLogicCluster 192.168.56.1:9002
      MatchExpression *.jsp
      MatchExpression *.do
      MatchExpression *.xx
</Location>


URL 에 homeapp 가 포함된 요청 중, jsp do xx 확장자 파일은 WLS 9001 포트에서 처리하며,
URL 에 webediapp 가 포함된 요청 중, jsp do xx 확장자 파일은 WLS 9002 포트에서 처리한다


9001 과 9002 포트에 각각 다른 어플리케이션이 배포되어 있을 경우
위의 예시와 같이 세팅한다.

 

 

예시) 건강보험공단 - 고객서비스 향상 사업 당시 환경
WLS
  • portal, minwon, cl이라는 3개의 도메인이 있던 상황
  • portal 도메인에 배포된 Application 은 컨텍스트 루트가 homeapp
  • minwon 도메인에 배포된 Application 은 컨텍스트 루트가 webedi
  • cl 도메인에 배포된 Application 은 컨텍스트 루트가 webediapp


OHS
  • 하나의 인스턴스에 WLS 3개 도메인 모두 연동해야 하는 상황
  • <Location> 태그를 사용하여 구분 지을 필요가 있었음

 

 


 

02. WLExcludePathOrMimeType 옵션

 

 

WLS연동 플러그인 파라미터 중에 WLSExcludePathOrMimeType 이 있다.

 

특정 URL경로 혹은 확장자는 웹로직으로 요청을 넘기지 않겠다는 의미

 

정확히는,

파일을 찾는 위치를

WLS Application 경로 기준으로 할 지

OHS DocumentRoot 경로 기준으로 할 지를

선택하는 것

 

예시
WLExcludePathOrMimeType *.jpg,*.JPG
WLExcludePathOrMimeType */homeapp/portal/*


mime.types 에서는 확장자 대소문자를 구분하지 않는 듯 하나
해당 옵션에서는 확장자 대소문자를 구분한다
(OHS12.2.1.4 기준 - 건보 고객서비스 향상 사업에서 확인)


한줄에 한꺼번에 작성하여도 상관없으나,
특정 웹로직 버전에서는 한줄로 적을 시 정상적으로 인식하지 못하는 경우 있는 듯

 

 

테스트 환경
OHS 설정


#01. DocumentRoot
/webapp


#02. mod_wl_ohs.conf
<Location /testapp>
      SetHandler weblogic-handler
      WebLogicCluster 192.168.56.2:9001
      MatchExpression *.jsp
      WLExcludePathOrMimeType *.jpg,*.JPG
</Location>


<Location /tempapp>
      SetHandler weblogic-handler
      WebLogicCluster 192.168.56.2:9002
      MatchExpression *.jsp
</Location>


====================================================


WLS 설정


/App/testapp => 9001 포트에만 Deploy
/App/tempapp=> 9002 포트에만 Deploy
테스트 환경


#01. OHS DocumentRoot 하위 디렉토리 정보
  • /webapp/testapp
  • /webapp/tempapp
  • 각각의 디렉토리 하위에 pic.jpg, pic.JPG 파일 있음


#02. WLS Application 하위 디렉토리 정보
  • /App/testapp
  • /App/tempapp
  • 각각의 디렉토리 하위에 pic.jpg 파일만 있음


#03. Access Log 확인 (pic.jpg 호출)


#04. Access Log 확인 (pic.JPG 호출)


#05. http://192.168.56.2:7777/tempapp/pic.JPG 에서 404 에러 발생 이유 분석
  • tempapp 경로로 들어오는 요청 대상으로
  • WLExcludePathOrMimeType 옵션이 설정되어 있지 않기 때문
  • JPG 확장자 파일을 읽어들일 때, DocumentRoot 기준이 아닌
  • WLS Application 경로 기준으로 찾고 있는 것


#06. WLExcludePathOrMimeType 옵션의 의의
  • 이미지 파일과 같이 변동이 많지 않는 정적 파일들을 별도의 위치에 분리
  • WLS에 Deploy 하는 파일들의 수와 용량이 전체적으로 줄어들 것
  • Application 소스 관리의 편의를 높이기 위함이 아닐까
  • (웹로직에는 소스코드만 따로 분리하여 배포한다던가)