호스팅 매뉴얼

Home > 호스팅 > 컨테이너호스팅 > Java 사용하기

SSL 인증서 설치 후 HTTPS 통신 강제 적용하기 SSL 인증서 설치 후 HTTPS 통신 강제 적용하기

서버에 SSL 보안서버 인증서를 설치한 후에는 HTTP와 HTTPS 통신이 혼용되는 것을 막기 위해,

소스 코드를 통하여 HTTPS 통신을 강제로 적용할 수 있습니다.

 

해당 매뉴얼에서는 Javascript를 이용하여 HTTPS 통신을 강제하는 방법을 안내합니다.

 

• 해당 매뉴얼은 Tomcat에 내장된 기본 프로젝트를 기준으로 작성되었습니다. 

 

 서버에 SSL 보안서버 인증서를 설치하지 않았다면 HTTPS 통신 적용은 불가능합니다. 
 해당 소스 코드는 참고용으로 작성된 코드이며, 고객 소스 코드 및 환경에 따라 적용되지 않을 수 있습니다.

 

 

1. 프로젝트의 소스 코드가 위치한 경로로 이동합니다.

기본 프로젝트의 경우 Tomcat의 webapps/ROOT 경로에 소스 코드가 존재합니다.

 

 

2. 아래와 같은 내용으로 Javascript 파일을 생성합니다.

해당 예시에서는 파일명을 redirect.js로 생성하였으나, 파일명은 임의로 작성하여도 무방합니다.

 

window.onload = function() {
    if(location.hostname != "localhost") {
        if (window.location.protocol != "https:") {
            window.location.href = "https:" + window.location.href.substring(window.location.protocol.length);
        }

        if (document.location.protocol == 'http:') {
            document.location.href = document.location.href.replace('http:', 'https:');
        }
    }
}

 

 

3. 작성한 Javascript 파일을 jsp 파일 내에서 호출하도록 소스 코드를 수정합니다.

해당 예시에서는 index.jsp 파일을 수정하여 적용하였습니다.

 

<수정 전>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

    <body>

...

 

<수정 후>

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title><%=request.getServletContext().getServerInfo() %></title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
        <script src="redirect.js"></script>
    </head>

    <body>

...

 

• HTTPS 강제 적용을 해야 하는 페이지가 여럿인 경우, header나 footer와 같이 공통적으로 호출하는 파일에 포함시켜 이용할 수 있습니다. 

 

4. 기존 방식과 동일하게 웹 애플리케이션을 실행합니다.

  • 컨테이너호스팅 시작하기

    • DNS 설정하기

    • SFTP/SSH 접속하기

    • DB 접속하기

    • phpPgAdmin 접속 설정하기

  • 관리 콘솔

    • 관리 콘솔 알아보기

  • 자원 현황

    • 사용량 현황 보기

    • 트래픽 당겨쓰기

    • 웹 용량 추가하기

    • 트래픽 추가/충전하기

    • 웹 용량 차단 해제하기

    • 용량 초과 알림 설정하기

    • 메모리 용량 추가하기

  • 기본 정보

    • 서비스 시작일/만기일 보기

    • 소유자/관리자 정보 보기

    • 타입 변경하기

    • 주간운영리포트 수신 설정하기

    • 장애 알림 받기

  • 도메인

    • 대표 도메인 변경하기

    • 도메인 연결/해지하기

  • 보안 설정

    • 웹 서버(SFTP/SSH) 접속 설정하기

    • 웹 서버(SFTP/SSH) 비밀번호 변경하기

    • 웹사이트 접근 IP 관리하기

    • SSH/SFTP 접속 차단 IP 해제하기

    • DB 서버 비밀번호 변경하기

    • 웹 서버 접속 허용 IP 등록하기

    • 웹쉘 탐지 관리하기

  • 웹 서버

    • 웹 서버 환경 변경하기

    • 웹 서버 초기화하기

    • 웹 서버 접속 허용 IP 등록하기

    • 웹 서버(SFTP/SSH) 비밀번호 변경하기

    • 웹 로그 보기

  • DB 서버

    • DB 서버 비밀번호 변경하기

    • phpPgAdmin 접속 설정하기

    • DB 접속하기

    • MySQL 서버 접속/백업/복원하기

    • DB 서버 환경 변경하기

    • DB 서버 초기화하기

  • 백업/복원

    • 백업하기

    • 복원하기

  • 모니터링

    • 서버 현황 보기

    • 웹/DB 현황 보기

    • 사이트 웹 로그 분석하기

    • 슬로우 쿼리 확인하기

    • 트래픽 현황 보기

    • 이력 관리하기

  • 메일

    • 메일 관리하기

  • 서비스 계약 관리

    • 결제 알림 설정하기

    • 담당자 정보 변경하기

    • 서비스 해지하기

  • Node.js 사용하기

    • Node.js 환경 확인하기

    • 프로세스 관리 도구 사용하기

    • 기본 웹 애플리케이션 만들기

    • Express로 웹 애플리케이션 만들기

    • NVM으로 버전 관리하기

    • SSL 인증서 설치 후 HTTPS 통신 강제 적용하기

    • 채팅 서버 만들기

    • MySQL 모듈 기본 사용 방법

  • Python 사용하기

    • Python 환경 확인하기

    • 패키지 관리 도구 사용하기

    • Flask로 기본 웹 애플리케이션 만들기

    • Django로 웹 애플리케이션 만들기

    • Gunicorn으로 정적 파일 서비스하기

    • 미디어 파일을 실시간으로 서비스하기 위한 Django 설정법

    • SSL 인증서 설치 후 HTTPS 통신 강제 적용하기

  • Java 사용하기

    • Java 환경 확인하기

    • Spring Boot CLI로 프로젝트 생성하기

    • Spring Boot CLI로 Groovy 웹 프로젝트 실행하기

    • Maven으로 SpringBoot 웹 프로젝트 실행하기

    • Gradle로 SpringBoot 웹 프로젝트 실행하기

    • 빌드한 웹 프로젝트 실행하기

    • SSL 인증서 설치 후 HTTPS 통신 강제 적용하기

  • Redis 사용하기

    • Node.js와 Redis 연동하기