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

TLS 구성

신뢰할 수 있는 인증 기관에서 서명한 인증서를 사용할 수 있도록 your GitHub Enterprise Server instance에서 TLS(전송 계층 보안)를 구성할 수 있습니다.

전송 계층 보안 정보

SSL을 대체한 TLS는 GitHub Enterprise Server를 처음 시작할 때 자체 서명된 인증서로 사용하도록 설정되고 구성됩니다. 자체 서명된 인증서는 웹 브라우저 및 Git 클라이언트에서 신뢰할 수 없으므로 TLS를 사용하지 않도록 설정하거나 Let's Encrypt와 같은 신뢰할 수 있는 인증 기관에서 서명한 인증서를 업로드할 때까지 클라이언트는 인증서 경고를 보고합니다.

SSL을 사용하도록 설정하면 GitHub Enterprise Server 어플라이언스가 HTTP 엄격한 전송 보안 헤더를 보냅니다. TLS를 사용하지 않도록 설정하면 브라우저에서 HTTP로 프로토콜 다운그레이드를 허용하지 않으므로 사용자가 어플라이언스에 액세스할 수 없게 됩니다. 자세한 내용은 Wikipedia에서 “HSTS(HTTP Strict Transport Security)”를 참조하세요.

경고: 부하 분산 장치에서 HTTPS 연결을 종료할 때 부하 분산 장치에서 GitHub Enterprise Server로의 요청도 HTTPS를 사용해야 합니다. HTTP에 대한 연결을 다운그레이드하는 것은 지원되지 않습니다.

사용자가 2단계 인증에 FIDO U2F를 사용하려면 인스턴스에 대해 TLS를 사용하도록 설정해야 합니다. 자세한 내용은 “2단계 인증 구성”을 참조하세요.

필수 조건

프로덕션에서 TLS를 사용하려면 신뢰할 수 있는 인증 기관에서 서명한 암호화되지 않은 PEM 형식의 인증서가 있어야 합니다.

또한 인증서는 “하위 도메인 격리 사용”에 나열된 하위 도메인에 대해 구성된 주체 대체 이름이 필요하며 중간 인증 기관에서 서명한 경우 전체 인증서 체인을 포함해야 합니다. 자세한 내용은 Wikipedia에서 “주체 대체 이름”을 참조하세요.

ghe-ssl-generate-csr 명령을 사용하여 인스턴스에 대한 CSR(인증서 서명 요청)을 생성할 수 있습니다. 자세한 내용은 “명령줄 유틸리티”를 참조하세요.

키는 RSA 키여야 하며 암호가 없어야 합니다. 자세한 내용은 “키 파일에서 암호 제거”를 참조하세요.

사용자 지정 TLS 인증서 업로드

경고: TLS를 구성하면 your GitHub Enterprise Server instance에 약간의 가동 중지 시간이 발생합니다.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

    사이트 관리자 설정에 액세스하기 위한 우주선 아이콘 스크린샷

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

    “Site admin”(사이트 관리자) 링크 스크린샷 1. 왼쪽 사이드바에서 Management Console 을 클릭합니다. 왼쪽 사이드바의 Management Console 탭 1. 왼쪽 사이드바에서 Privacy(개인정보 보호)를 클릭합니다. 설정 사이드바의 개인정보 보호 탭 1. TLS only (recommended) (TLS만(권장))를 선택합니다. TLS만 선택하는 확인란

  3. “TLS 프로토콜 지원”에서 허용하려는 프로토콜을 선택합니다. TLS 프로토콜을 선택하는 옵션이 있는 라디오 단추

  4. “인증서”에서 파일 선택을 클릭하여 설치할 TLS 인증서 또는 인증서 체인(PEM 형식)을 선택합니다. 일반적으로 이 파일에는 .pem, .crt 또는 .cer 확장명이 있습니다. TLS 인증서 파일을 찾는 단추

  5. “암호화되지 않은 키”에서 파일 선택을 클릭하여 설치할 RSA 키(PEM 형식)를 선택합니다. 일반적으로 이 파일에는 .key 확장명이 있습니다. TLS 키 파일을 찾는 단추

  6. 왼쪽 사이드바에서 Save settings(설정 저장)를 클릭합니다.

    Management Console의 설정 저장 단추 스크린샷

    참고: Management Console에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.

  7. 구성 실행이 완료될 때까지 기다립니다.

    인스턴스 구성

Let's Encrypt 지원 정보

Let's Encrypt는 ACME 프로토콜을 사용하여 브라우저에서 신뢰하는 무료 자동화된 TLS 인증서를 발급하는 퍼블릭 인증 기관입니다. 필요한 수동 유지 관리 없이 어플라이언스의 Let's Encrypt 인증서를 자동으로 가져오고 갱신할 수 있습니다.

Let's Encrypt 자동화를 사용하려면 HTTP를 통해 공개적으로 액세스할 수 있는 호스트 이름으로 어플라이언스를 구성해야 합니다. 또한 어플라이언스에서 아웃바운드 HTTPS 연결을 만들 수 있어야 합니다.

Let's Encrypt를 사용하여 TLS 인증서 관리 자동화를 사용하도록 설정하면 your GitHub Enterprise Server instance이(가) Let's Encrypt 서버에 문의하여 인증서를 가져옵니다. 인증서를 갱신하려면 Let's Encrypt 서버가 인바운드 HTTP 요청을 사용하여 구성된 도메인 이름 제어의 유효성을 검사해야 합니다.

your GitHub Enterprise Server instance에서 명령줄 유틸리티를 사용하여 ghe-ssl-acme Let's Encrypt 인증서를 자동으로 생성할 수도 있습니다. 자세한 내용은 “명령줄 유틸리티”를 참조하세요.

Let's Encrypt를 사용하여 TLS 구성

Let's Encrypt 자동화를 사용하려면 HTTP를 통해 공개적으로 액세스할 수 있는 호스트 이름으로 어플라이언스를 구성해야 합니다. 또한 어플라이언스에서 아웃바운드 HTTPS 연결을 만들 수 있어야 합니다.

경고: TLS를 구성하면 your GitHub Enterprise Server instance에 약간의 가동 중지 시간이 발생합니다.

  1. 페이지의 오른쪽 상단에 있는 GitHub Enterprise Server의 관리 계정에서 을 클릭합니다.

    사이트 관리자 설정에 액세스하기 위한 우주선 아이콘 스크린샷

  2. “Site admin”(사이트 관리자) 페이지에 아직 없는 경우 왼쪽 상단에서 Site admin(사이트 관리자)을 클릭합니다.

    “Site admin”(사이트 관리자) 링크 스크린샷 1. 왼쪽 사이드바에서 Management Console 을 클릭합니다. 왼쪽 사이드바의 Management Console 탭 1. 왼쪽 사이드바에서 Privacy(개인정보 보호)를 클릭합니다. 설정 사이드바의 개인정보 보호 탭 1. TLS only (recommended) (TLS만(권장))를 선택합니다. TLS만 선택하는 확인란

  3. Let's Encrypt를 사용하여 TLS 인증서 관리 자동화 사용을 선택합니다. Let's Encrypt 사용을 위한 확인란 1. 왼쪽 사이드바에서 Save settings(설정 저장)를 클릭합니다.

    Management Console의 설정 저장 단추 스크린샷

    참고: Management Console에 설정을 저장하면 시스템 서비스가 다시 시작되어 사용자에게 표시되는 가동 중지 시간이 발생할 수 있습니다.

  4. 구성 실행이 완료될 때까지 기다립니다.

    인스턴스 구성 1. 왼쪽 사이드바에서 Privacy(개인정보 보호)를 클릭합니다. 설정 사이드바의 개인정보 보호 탭

  5. TLS 인증서 요청을 클릭합니다. TLS 인증서 요청 단추

  6. “상태”가 “시작됨”에서 “완료”로 변경될 때까지 기다립니다. Let's Encrypt 상태

  7. 구성 저장을 클릭합니다.