5 min read

Apache - Tomcat(Confluence, Jira, Crowd) 연동 가이드

1. 개요

위 그림은 Apache HTTP Server가 Atlassian 서버 애플리케이션의 리버스 프록시 역할을 하는 네트워크 토폴로지 입니다.

본 가이드는 이전 구성한 Atlassian의 제품에 Proxy 설정을 위한 Apache - Tomcat의 연동에 대한 가이드를 제공합니다.


2. Atlassian Application 구성

Apache와 연동할 Atlassian Application은 아래 가이드대로 구성되었으며 파일 위치 또한 아래 가이드 대로 구성시 설치된 위치 기반으로합니다.

Crowd: https://hons.io/crowd-install
Confluence: https://hons.io/confluence-install
Jira: https://hons.io/jira-install

2.1 Atlassian Application 중지

Atlassian Application을 중지하면 Tomcat도 함께 중지됩니다.

각 서비스 별로 Application을 중지하기 위한 스크립트는 아래 항목을 참고하십시오.

Crowd
/Atlassian/atlassian-crowd-5.1.1/apache-tomcat/stop_crowd.sh
Confluence
/Atlassian/atlassian-confluence-7.19.4/bin/stop-confluence.sh
Jira
/Atlassian/atlassian-jira-software-9.4.0-standalone/bin/stop-jira.sh

참고

/Atlassian 위치는 설치 시 설정한 초기 Path이며 각 환경에 맞게 /path/to/atlassian 를 설정하시면 됩니다.

2.2 커넥터 지시문 구성

Application의 server.xml의 Connector를 수정해야합니다.
추가할 구문은 ConnectorproxyName proxyPort scheme입니다.

proxyName="192.168.11.122"
proxyName="example.domains.com"

proxyPort="80"
proxyPort="443"

scheme="http"
scheme="https"

환경에 맞게 추가합니다.

  • 각 Atlassian Application의 server.xml파일 위치는 아래와 같습니다.
Crowd
/Atlassian/atlassian-crowd-5.1.1/apache-tomcat/conf/server.xml
Confluence
/Atlassian/atlassian-confluence-7.19.4/conf/server.xml
Jira
/Atlassian/atlassian-jira-software-9.4.0-standalone/conf/server.xml
Crowd - server.xml
Confluence - server.xml
Jira - server.xml

참고

non-SSL 커넥터 지시문에 삽입합니다.
이전에 작성된 가이드 대로 설치하셨으면 Connector은 하나 밖에 없어 그대로 추가하시면 됩니다.


3. Apache 구성

Atlassian은 단일 클라이언트에서 여러 가상 호스트를 허용하면서 Apache용 프록시, 게이트웨이 또는 캐시를 구현하는 mod_proxy 모듈을 사용할 것을 권장합니다

3.1 mod_proxy 모듈 활성화

a2enmod proxy_http
a2enmod proxy_wstunnel
a2enmod rewrite
service apache2 restart

3.2 mod_proxy를 사용하여 가상 호스트 구성

Apache 리버스 프록시 뒤에서 단일 Atlassian 애플리케이션을 실행 중인 경우 다음 지시문과 함께 가상 호스트 블록을 사용합니다.

Ubuntu에서의 Apache conf 파일의 위치는 아래와 같습니다.

/etc/apache2/sites-available

아래 양식대로 Atlassian Application conf 파일을 작성합니다.

<VirtualHost *:80>
    ServerName <subdomain>.<domain>.com
     
    ProxyRequests Off
    ProxyVia Off
     
    <Proxy *>
         Require all granted
    </Proxy>
 
    ProxyPass /<contextpath> http://<internal_domain>:<port>/<contextpath>
    ProxyPassReverse /<contextpath> http://<internal_domain>:<port>/<contextpath>
</VirtualHost>
작성된 conf 파일

3.3 X-Forwarded-For 헤더 활성화

원본 IP(예: 프록시에 연결하는 사용자)가 프록시 IP가 아닌 Atlassian 애플리케이션으로 전송되도록 하는 선택적 단계입니다.
이것은 요청을 제출하는 사람을 추적하는 데 유용합니다. 그렇지 않으면 리버스 프록시가 IP를 마스킹할 수 있기 때문입니다.
이 변경이 완료되면 액세스 로그에 프록시뿐만 아니라 클라이언트의 IP와 프록시도 기록됩니다.

  • remoteip 모듈 활성화
a2enmod remoteip
  • RemoteIPHeader X-Forwarded-For 추가
  • Apache 재시작
service apache2 restart

3.3 conf 파일 등록

Ubuntu의 경우 conf 파일을 작성하고 등록하는 과정을 진행해야합니다.
기존 conf 파일을 비활성화 및 새로 작성한 conf 파일을 등록하는 명령어는 아래와 같습니다.

# 기존 파일 비활성화
a2dissite 000-default.conf
a2dissite default-ssl.conf

# 신규 파일 활성화
a2ensite 001-atlassian.conf

3.4 Atlassian Application 시작

각 서비스 별로 Application을 시작하기 위한 스크립트는 아래 항목을 참고하십시오.

Crowd
/Atlassian/atlassian-crowd-5.1.1/apache-tomcat/start_crowd.sh
Confluence
/Atlassian/atlassian-confluence-7.19.4/bin/start-confluence.sh
Jira
/Atlassian/atlassian-jira-software-9.4.0-standalone/bin/start-jira.sh

3.5 적용사항 확인

정상 작동 확인


Reference