Jira 및 Jira Service Desk HTTPS(SSL) 설정

본 문서는 Jira 및 JIRA Service Desk를 HTTP → HTTPS로 설정하는 예제입니다.


1) Key 파일 저장

  • /APP/application-data(예제 경로)에 전달받은 keystore를 저장한다.


2) server.xml 수정

  • <Jira 설치경로>/conf/server.xml
기존 내용
        <!--
         ==============================================================================================================
         DEFAULT - Direct connector with no proxy for unproxied access to Jira.

         If using a http/https proxy, comment out this connector.
         ==============================================================================================================
        -->

        <Connector port="80" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>

  • 80으로 요청할 경우 443으로 redirect 할 수 있는 부분 포함
변경된 내용
        <!--
         ==============================================================================================================
         DEFAULT - Direct connector with no proxy for unproxied access to Jira.

         If using a http/https proxy, comment out this connector.
         ==============================================================================================================
        -->
<!-- 필요시 추가
        <Listener className="org.apache.cataline.core.AprLifecycleListener" SSLEngine="on"/>    
-->    
        <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />

        <Connector port="443" maxThreads="150" minSpareThreads="25" enableLookups="false"
                   connectionTimeout="20000" redirectPort="443"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false"
		   scheme="https" secure="true"
		   SSLEnabled="true"
		   keystorePass="Test&amp;gssl3#"
                   keystoreFile="/APP/application-data/keystore"/>

주의) <, >, &는 XML tag 표시와 entity를 표시하는 XML 예약문자로, XML 문서에 그대로 사용할 수 없음

엔티티 참조에서는 '&' 바로 다음에 엔티티 이름이 와야 함

(위의 keystorePass의 값은 Test&gssl3# 였으나 Test&amp;gssl3#로 변형되었음)

적용 특수 문자변경되는 형태
< (less-than sign)&lt;

> (greater-than sign)

&gt;
& (ampersand)&amp;



3) web.xml  수정

  • http 로 접근할 경우 자동으로 https 로 전환
  • <Jira 설치경로>//atlassian-jira/WEB-INF/web.xml
  • web.xml 파일 마지막 라인 </web-app> 위에 아래 내용 추가
 <security-constraint>   <web-resource-collection>
     <web-resource-name>Restricted URLs</web-resource-name>
     <url-pattern>/</url-pattern>
   </web-resource-collection>
   <user-data-constraint>
     <transport-guarantee>CONFIDENTIAL</transport-guarantee>
   </user-data-constraint>
 </security-constraint>

</web-app>


4) Base URL 변경

  • 기존의  Base URL을 https가 적용된 URL로 수정