페이지 트리

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

코드 블럭
# > 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의 경우:

코드 블럭
titleConnector directive
linenumberstrue
<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
코드 블럭
titlebitbucket.properties
linenumberstrue
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

코드 블럭
languagexml
titlehttpd.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를 사용하여 설명한다.

펼치기
titlehttpd.conf


코드 블럭
    .
    .
    .
NameVirtualHost *:80
Listen 80
    .
    .
    .
IncludeOptional conf.d/*.conf
IncludeOptional sites-enabled/*.conf



펼치기
titleconf.d/ssl.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>



펼치기
titlesites-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>



true
펼치기
titlesites-enabled/confluence.curvc.com.conf


코드 블럭
코드 블럭
titlejira.curvc.com.conf
linenumbers
<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:8080
10.0.100.20:8091/synchrony"

    ProxyPass           "/" "http://10.0.100.20:8090/"
    ProxyPassReverse    "/" "http://
192
10.
168
0.
0
100.
8
20:
8080/"
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 서버에 등록 준비

코드 블럭
titlesymbolic 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의 경우:

코드 블럭
titleConnector directive
linenumberstrue
<!-- 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
코드 블럭
titlebitbucket.properties
linenumberstrue
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