HTTP 요청 HTTPS로 리다이렉트하기

매뉴얼웍스가 HTTPS 요청을 처리하도록 설정한 후 모든 HTTP 요청을 HTTPS 요청으로 리다이렉트하는 방법을 설명합니다.

1

server.xml 파일에 2개의 Connector 태그 설정

HTTPS 요청뿐만 아니라 HTTP 요청을 받는 Connector 태그도 설정해야 합니다. 그래야 HTTP 요청을 HTTPS 요청으로 바꿀 수 있습니다. 다음 순서로 설정합니다.

3RABBITZ_HOME은 매뉴얼웍스를 설치한 디렉터리를 지칭합니다.

  1. 3RABBITZ_HOME/tomcat/conf/server.xml 파일을 엽니다.

  2. HTTPHTTPS 요청을 받는 2개의 Connector를 설정합니다. Service 태그 바로 아래에 설정합니다.

    • 태그와 속성이 대소문자를 구분합니다.

    • 첫 번째 Connector 태그는 HTTP 설정이고, 두 번째 Connector 태그는 HTTPS 설정입니다. 두 번째 Connector 태그의 keystoreFile, keystorePass, keystoreType 속성은 인증서에 맞게 바꿉니다.

    • 예제에서 두 번째 Connector 태그의 port 속성 값은 HTTPS 기본 포트 번호인 443입니다. 이에 맞추어 첫 번째 Connector 태그의 port 속성 값도 1975가 아닌 HTTP 기본 포트 번호인 80입니다. 상황에 맞게 바꿉니다.

<Connector port="80" protocol="HTTP/1.1" relaxedQueryChars="^`\|{}[]"
    connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8"
    maxPostSize="-1" Server="3Rabbitz" />

<Connector port="443" protocol="HTTP/1.1" relaxedQueryChars="^`\|{}[]"
    connectionTimeout="20000" URIEncoding="UTF-8"
    maxPostSize="-1" Server="3Rabbitz"
    SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="E:\3rabbitz-key\mycert.pfx" 
    keystorePass="1234"
    keystoreType="PKCS12" />

HTTPS 설정은 발급 받은 인증서에 따라 다릅니다. 인증서를 발급하는 기관이 제공하는 아파치 톰캣 9.0 버전의 가이드를 참고하는 것을 권장합니다.

  1. 매뉴얼웍스를 재시작합니다.

  2. 매뉴얼웍스가 HTTP 요청과 HTTPS 요청을 모두 처리하는지 확인합니다.

2

web.xml 파일에 security-constraint 태그 추가

3RABBITZ_HOME은 매뉴얼웍스를 설치한 디렉터리를 지칭합니다.

  1. 3RABBITZ_HOME/tomcat/conf/web.xml 파일을 엽니다.

  2. 맨 아래 web-app 태그를 닫기 전에 security-constraint 태그를 추가합니다.

<web-app>
    <!-- 내용 생략 -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>All Requests</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>
  1. 매뉴얼웍스를 재시작합니다.

  2. 매뉴얼웍스가 HTTP 요청을 HTTPS 요청으로 리다이렉트하는지 확인합니다.