이 문서는 Apache HTTPD 서버를 이용해 하나 또는 여러개의 Atlassian 제품을 접속하는 통일된 HTTPS URL 주소를 구성하는 방법을 제공한다.
Overview
네트웍 구성도
접속 흐름 보기
사전 조건
도메인 및 SSL 인증서
- 도메인: Atlassian application을 위한 도메인 등록 (또는 sub-domain, 예: jira.curvc.com)
- 인증서: 복수개의 Atlassian 솔루션 사용시 sub-domain 에 공통으로 사용 할 수 있는 wildcard 도메인 구매 추천
Reverse Proxy 구성할 서버 준비
- OS: CentOS 7 (본 예제에서 사용)
- Apache HTTP 서버 설치 (2.4 이상)
Application context 사용하지 않음
본 예에서는 http://curvc.com/jira 와 같이 "jira" context를 사용하지 않음을 가정한다. Context를 사용하여 reverse proxy 를 구성할 수 있지만 드문 구성이다.
CentOS SELinux policy 수정
- SELinux가 httpd (80, 443) 프로세스의 network 접속을 금지하기 때문에 허용하도록 설정
# > sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
Step 1) 인증서 준비
필요한 인증서 관련 파일을 준비한다. 인증 기관별로 제공되는 파일 설명을 참조하여 준비한다 (SSL 인증서 발급 및 적용).
- 키 파일: 인증서 발급할 때 사용했던 private key file
- 인증서: 인증기관에서 발급된 인증서
- chain file: intermediate 파일로부터 생성
Step 2) Reverse Proxy 구성
본 문서는 reverse proxy로 Apache httpd를 사용하여 설명한다.
구성 완료 후 적용
$ > apache testconfig $ > apache restart
Step 3) Tomcat Connector 수정
Atlassian application을 종료하고 tomcat의 server.xml 파일을 수정한다.
Bitbucket 5.0 이상을 제외한 Atlassian application의 경우:
Connector directive
<!-- Additional connector for Application link --> <Connector port="8180" connectionTimeout="20000" maxThreads="200" minSpareThreads="10" enableLookups="false" acceptCount="10" URIEncoding="UTF-8" /> <Connector port=<default> maxThreads=<default> minSpareThreads=<default> connectionTimeout=<default> enableLookups=<default> maxHttpHeaderSize=<default> protocol=<default> useBodyEncodingForURI=<default> redirectPort=<default> acceptCount=<default> disableUploadTimeout=<default> proxyName="<subdomain>.<domain>.com" proxyPort="443" scheme="https"/>
line 12 ~ 14를 추가한다.
- proxyName: 제공될 application URL (예: jira.curvc.com)
Bitbucket 5.0 이상의 경우:
링크를 참고하여 설정한다.
- 경로: <Bitbucket data home>/application-data/bitbucket/shared/bitbucket.properties
bitbucket.properties
server.scheme=https server.proxy-port=443 server.proxy-name=bitbucket.curvc.com
설정 완료 후 application을 기동한다.
Step 4) Atlassian Application Base URL 변경
Application 별로 base URL을 https://~ 로 변경한다.
예)
- Jira = https://jira.curvc.com
- Confluence = https://confluence.curvc.com
Step 5) Atlassian Application link 수정
이 글을 작성하는 시점에 Application link는 https를 지원하지 않기 때문에 server.xml에 구성한 Application link용 port를 사용하여 application link를 구성한다.
Jira와 Confluence Application link 예)
- Jira에서 Confluence URL 설정 = http://10.0.100.20:8190
- Confluence에서 Jira URL 설정 = http://10.0.100.10:8180