...
코드 블럭 |
---|
# > sudo /usr/sbin/setsebool -P httpd_can_network_connect 1 |
Step 1) 인증서 준비
Step 1) Tomcat Connector 수정
Atlassian application을 종료하고 tomcat의 server.xml 파일을 수정한다.
Bitbucket 5.0 이상을 제외한 Atlassian application의 경우:
코드 블럭 |
---|
title | Connector directive |
---|
linenumbers | true |
---|
|
<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="80"
scheme="http"/> |
line 12 ~ 14를 추가한다.
- proxyName: 제공될 application URL (예: jira.curvc.com)
- proxyPort: 제공될 application port (예: 80)
Bitbucket 5.0 이상의 경우:
링크를 참고하여 설정한다.
- 경로: <Bitbucket data home>/application-data/bitbucket/shared/bitbucket.properties
코드 블럭 |
---|
title | bitbucket.properties |
---|
linenumbers | true |
---|
|
server.scheme=http
server.proxy-port=80
server.proxy-name=bitbucket.curvc.com |
설정 완료 후 application을 기동한다.
Step 2) Apache httpd.conf 수정
Application 구성 정보 로딩 설정
/etc/httpd/conf/httpd.conf
코드 블럭 |
---|
language | xml |
---|
title | httpd.conf |
---|
|
...
IncludeOptional sites-enabled/*.conf |
Step 3) Application을 위한 site 구성
/etc/httpd/site-available/jira.curvc.com.conf 파일 생성
필요한 인증서 관련 파일을 준비한다. 인증 기관별로 제공되는 파일 설명을 참조하여 준비한다 (SSL 인증서 발급 및 적용).
- 키 파일: 인증서 발급할 때 사용했던 private key file
- 인증서: 인증기관에서 발급된 인증서
- chain file: intermediate 파일로부터 생성
Step 2) Reverse Proxy 구성
본 문서는 reverse proxy로 Apache httpd를 사용하여 설명한다.
펼치기 |
---|
|
코드 블럭 |
---|
.
.
.
NameVirtualHost *:80
Listen 80
.
.
.
IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf |
|
펼치기 |
---|
|
코드 블럭 |
---|
.
.
.
NameVirtualHost *:443
Listen 443 https
.
.
.
<VirtualHost _default_:443>
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /etc/ssl/certs/STAR_curvc_com.crt
SSLCertificateKeyFile /etc/ssl/certs/curvc.key
SSLCertificateChainFile /etc/ssl/curvc_com.ca-bundle
</VirtualHost> |
|
펼치기 |
---|
title | sites-enabled/jira.curvc.com.conf |
---|
|
코드 블럭 |
---|
<VirtualHost *:80>
ServerName jira.curvc.com
RemoteIPHeader X-Forwarded-For
ProxyPreserveHost On
RewriteEngine On
ProxyVia Off
<Proxy *>
Order deny,allow
Require all granted
</Proxy>
Redirect "/" "https://jira.curvc.com/"
</VirtualHost>
<VirtualHost *:443>
ServerName jira.curvc.com
ProxyPreserveHost On
RewriteEngine On
ProxyVia Off
<Proxy *>
Order deny,allow
Require all granted
</Proxy>
ProxyPass "/" "http://10.0.100.10:8080/"
ProxyPassReverse "/" "http://10.0.100.20:8080/"
RemoteIPHeader X-Forwarded-For
SSLEngine on
SSLCertificateKeyFile /etc/ssl/certs/curvc.key
SSLCertificateFile /etc/ssl/certs/STAR_curvc_com.crt
SSLCertificateChainFile /etc/ssl/certs/curvc_com.ca-bundle
</VirtualHost> |
|
펼치기 |
---|
title | sites-enabled/confluence.curvc.com.conf |
---|
|
|
코드 블럭 |
---|
|
title | jira.curvc.com.conf |
---|
linenumbers | true |
---|
<VirtualHost *:80>
ServerName confluence.curvc.com
ProxyPreserveHost On
RewriteEngine On
ProxyVia Off
<Proxy *>
Order deny,allow
Require all granted
</Proxy>
Redirect "/" "https://confluence.curvc.com/"
RemoteIPHeader X-Forwarded-For
</VirtualHost>
<VirtualHost *:443>
ServerName confluence.curvc.com
ProxyPreserveHost On
ProxyRequests Off
RewriteEngine On
SSLEngine on
SSLProxyEngine on
SSLCertificateKeyFile /etc/ssl/certs/curvc.key
SSLCertificateFile /etc/ssl/certs/STAR_curvc_com.crt
SSLCertificateChainFile /etc/ssl/certs/curvc_com.ca-bundle
ProxyVia Off
<Proxy *>
Order deny,allow
Require all granted
</Proxy>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/synchrony
ProxyPass "/synchrony" "http:// | 192.168.0.8:808010.0.100.20:8091/synchrony"
ProxyPass "/" "http://10.0.100.20:8090/"
ProxyPassReverse "/" "http:// | 192168088080/"
8090/"
<Location /synchrony>
Require all granted
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
| ServerName jira.curvc.com RewriteRule .* ws://10.0.100.20:8091%{REQUEST_URI} [P]
| RemoteIPHeader X-Forwarded-For</Location>
</VirtualHost> |
|
- ProxyPass, ProxyPassReverse: Application의 실제 주소 설정 ('/' 포함)
- ServiceName: 외부에 제공될 application 접속 주소
/etc/httpd/site-enabled/jira.curvc.com.conf → ../site-available/jira.curvc.com.conf 심볼릭 링크 파일 생성하여 apache 서버에 등록 준비
코드 블럭 |
---|
title | symbolic link command |
---|
|
# > cd /etc/httpd/site-enabled
# > ln -s ../site-available/jira.curvc.com.conf jira.curvc.com.conf |
Step 4) Apache HTTP 서버 재기동
...
구성 완료 후 적용
코드 블럭 |
---|
$ > apache testconfig
$ > apache restart |
Step 3) Tomcat Connector 수정
Atlassian application을 종료하고 tomcat의 server.xml 파일을 수정한다.
Bitbucket 5.0 이상을 제외한 Atlassian application의 경우:
코드 블럭 |
---|
title | Connector directive |
---|
linenumbers | true |
---|
|
<!-- 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
코드 블럭 |
---|
title | bitbucket.properties |
---|
linenumbers | true |
---|
|
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