Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

HTTPS를 사용하여 GitHub Pages 사이트 보호

HTTPS는 다른 사용자가 사이트에 대한 트래픽을 스누핑 또는 변조하지 못하도록 하는 암호화 계층을 추가합니다. GitHub Pages 사이트에 HTTPS를 적용하여 모든 HTTP 요청을 HTTPS로 투명하게 리디렉션할 수 있습니다.

GitHub Pages는 GitHub Free 및 조직에 대한 GitHub Free가 있는 퍼블릭 리포지토리와 GitHub Pro, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server가 있는 퍼블릭 및 프라이빗 리포지토리에서 사용할 수 있습니다. 자세한 내용은 “GitHub 제품”을 참조하세요.

리포지토리에 대한 관리자 권한이 있는 사용자는 GitHub Pages 사이트에 HTTPS를 적용할 수 있습니다.

HTTPS 및 GitHub Pages 정보

사용자 지정 도메인으로 올바르게 구성된 사이트를 포함하여 모든 GitHub Pages 사이트는 HTTPS 및 HTTPS 적용을 지원합니다. 사용자 지정 도메인에 대한 자세한 내용은 “사용자 지정 도메인 및 GitHub Pages 정보” 및 “사용자 지정 도메인 및 GitHub Pages의 문제 해결”을 참조하세요.

GitHub Pages 사이트는 암호 또는 신용 카드 번호 전송과 같은 중요한 트랜잭션에 사용하면 안 됩니다.

경고: 사이트의 리포지토리가 프라이빗인 경우에도 GitHub Pages 사이트는 인터넷에서 공개적으로 사용할 수 있습니다. 사이트의 리포지토리에 중요한 데이터가 있는 경우 게시하기 전에 데이터를 제거할 수 있습니다. 자세한 내용은 “리포지토리 정보”를 참조하세요.

참고: RFC3280은 일반 이름의 최대 길이가 64자여야 한다고 명시합니다. 따라서 인증서를 성공적으로 만들려면 GitHub Pages 사이트의 전체 도메인 이름이 64자 미만이어야 합니다.

GitHub Pages 사이트에 HTTPS 적용

  1. GitHub에서 사이트의 리포지토리로 이동합니다. 1. 리포지토리 이름 아래에서 설정을 클릭합니다. 리포지토리 설정 단추

  2. 사이드바의 “코드 및 자동화” 섹션에서 페이지를 클릭합니다.

  3. “GitHub Pages”에서 HTTPS 적용을 선택합니다. HTTPS 적용 확인란

인증서 프로비저닝 문제 해결("인증서가 아직 생성되지 않았습니다." 오류)

페이지 설정에서 사용자 지정 도메인을 설정하거나 변경하면 자동 DNS 검사가 시작됩니다. 이 검사는 DNS 설정이 GitHub에서 인증서를 자동으로 가져오도록 구성되어 있는지 확인합니다. 확인에 성공하면 GitHub는 Let's Encrypt에서 TLS 인증서를 요청하는 작업을 큐에 대기시킵니다. 유효한 인증서를 받으면 GitHub가 페이지에 대한 TLS 종료를 처리하는 서버에 인증서를 자동으로 업로드합니다. 이 프로세스가 성공적으로 완료되면 사용자 지정 도메인 이름 옆에 확인 표시가 표시됩니다.

프로세스에 다소 시간이 걸릴 수 있습니다. 저장을 클릭하고 몇 분 후에도 프로세스가 완료되지 않은 경우 사용자 지정 도메인 이름 옆에 있는 제거를 클릭해 보세요. 도메인 이름을 다시 입력하고 저장을 다시 클릭합니다. 그러면 프로비저닝 프로세스가 취소되고 다시 시작됩니다.

혼합 콘텐츠 문제 해결

GitHub Pages 사이트에서 HTTPS를 사용하도록 설정했지만 사이트의 HTML이 여전히 HTTP를 통해 이미지, CSS 또는 JavaScript를 참조하는 경우 사이트는 혼합 콘텐츠를 제공하고 있는 것입니다. 혼합 콘텐츠를 제공하면 사이트의 보안이 저하되고 자산 로드에 문제가 발생할 수 있습니다.

사이트의 혼합 콘텐츠를 제거하려면 사이트의 HTML에서 http://https://로 변경하여 모든 자산이 HTTPS를 통해 제공되는지 확인합니다.

자산은 일반적으로 다음 위치에서 찾을 수 있습니다.

  • 사이트에서 Jekyll을 사용하는 경우 HTML 파일은 _layouts 폴더에 있을 수 있습니다.
  • CSS는 일반적으로 HTML 파일의 <head> 섹션에 있습니다.
  • JavaScript는 일반적으로 <head> 섹션 또는 닫는 </body> 태그 바로 앞에 있습니다.
  • 이미지는 종종 <body> 섹션에서 찾을 수 있습니다.

팁: 사이트의 원본 파일에서 자산을 찾을 수 없는 경우 텍스트 편집기 또는 GitHub에서 http에 대한 사이트의 원본 파일을 검색해 보세요.

HTML 파일에서 참조되는 자산의 예

자산 형식HTTPHTTPS
CSS<link rel="stylesheet" href="http://example.com/css/main.css"><link rel="stylesheet" href="https://example.com/css/main.css">
JavaScript<script type="text/javascript" src="http://example.com/js/main.js"></script><script type="text/javascript" src="https://example.com/js/main.js"></script>
이미지<a href="http://www.somesite.com"><img src="http://www.example.com/logo.jpg" alt="Logo"></a><a href="https://www.somesite.com"><img src="https://www.example.com/logo.jpg" alt="Logo"></a>