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" />
  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 요청으로 리다이렉트하는지 확인합니다.