운영을 하다보면, 또는 고객사의 정책이 변경되는 경우 기존 운영중인 apache를 추가적으로 연동해야 하는 경우가 있다.

 

아래는 일반적으로 고객용과 내부 관리자용 시스템을 구부하여 시스템 구성을 하는 경우이다.

 

 

 

 

대고객용은 WAS1, 2를 Clustering하여 로드밸런싱 형태로 아파치와 연동한다. 내부 관리자용은 아파치연동없이 WAS3만 서비스한다. 이에 대한 Apache와 Tomcat의 설정은 다음과 같다.

 

httpd.conf, httpd-ssl.conf는 일반적이니 생략하고 worker.properties만 보자

 

worker.list=loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=was1,was2

 

# WAS1 Worker
worker.was1.host={server_host or server ip}
worker.was1.port=8088
worker.was1.type=ajp13
worker.was1.lbfactor=1
worker.was1.fail_on_status=400,503


 

#Define WAS2 Worker
worker.was2.host={server_host or server ip}
worker.was2.port=8089
worker.was2.type=ajp13
worker.was2.lbfactor=1
worker.was2.fail_on_status=400,503


---------- uriworkermap.properties 설정 ----------

/*=loadbalancer

 

 

그런데 어느날 고객사에서 내부 관리자용 서비스도 apache를 연동해서 진행해달라고 한다.

또 보안지침이 강화가 되었으니 http로만 서비스하던것을 https로도 해달란다.

그래서 설정을 추가하기로 하는데...

 

1. WAS 용 SSL 인증서가 있냐고 문의 ==> 인증서는 Apache용만 있다고 한다.

 

그래서 아래와 같이 vHost를 이용하여 추가하기로 계획을 세웠다.

 

 

즉 기존 아파치에 도메인만 다르게 해서 세팅하는 방식. 즉 virtual host를 활용한 방법이다.

고객사에 관리자웹에서 사용할 sub-domain을 하나 달라고 했다.

고객사 담당자가 확인해 보더니 sub-domain을 추가로 만들수 없다고 한다. 에잉? 순간 난감.

기존 도메인을 그대로 쓰면서 포트만 다르게 해달라고 한다.

 

2. 사용자 Web과 관리자 Web이 같은 도메인을 사용하면서 포트만 다르게 사용하는 경우

 

 

 

할수 없이 위와같이 기존 아파치서버를 복사하여 관련설정만 바꿔서 세팅완료.

포트는 기존과 동일하게 사용하면서 프로토콜만 http에서  https로 변경.

 

이때의 workers.properties는 이전보다 간단해진다.

worker.list=was3
worker.was3.host={server_host or server ip}
worker.was3.port=9090
worker.was3.type=ajp13
worker.was3.fail_on_status=400,503

---------- uriworkermap.properties 설정 ----------
/*=was3