InfoGrab Docs

Gitaly TLS 지원

Gitaly TLS 지원에 대해 설명합니다.

Gitaly는 TLS 암호화를 지원합니다. 보안 연결을 수신하는 Gitaly 인스턴스와 통신하려면 GitLab 구성의 해당 스토리지 항목의 gitaly_address 에서 tls:// URL 스킴을 사용하세요. Gitaly는 GitLab에 대한 TLS 연결에서 서버 인증서와 동일한 인증서를 클라이언트 인증서로 제공합니다. 이는 클라이언트 인증서를 검증하여 GitLab에 대한 접근을 허용하는 리버스 프록시(예: NGINX)와 결합하여 상호 TLS 인증 전략의 일부로 사용할 수 있습니다. 자동으로 제공되지 않으므로 직접 인증서를 제공해야 합니다. 각 Gitaly 서버에 해당하는 인증서는 해당 Gitaly 서버에 설치되어야 합니다. 또한 인증서(또는 해당 인증 기관)는 다음 모든 곳에 설치되어야 합니다: Gitaly 서버. Gitaly와 통신하는 Gitaly 클라이언트. 로드 밸런서를 사용하는 경우 ALPN TLS 확장을 사용하여 HTTP/2를 협상할 수 있어야 합니다. 인증서 요구사항 # 인증서는 Gitaly 서버에 접근하는 데 사용하는 주소를 지정해야 합니다. 인증서에 Subject Alternative Name으로 호스트 이름 또는 IP 주소를 추가해야 합니다. Gitaly 서버를 암호화되지 않은 수신 주소 listen_addr 와 암호화된 수신 주소 tls_listen_addr 모두로 동시에 구성할 수 있습니다. 이를 통해 필요에 따라 암호화되지 않은 트래픽에서 암호화된 트래픽으로 점진적으로 전환할 수 있습니다. 인증서의 Common Name 필드는 무시됩니다. TLS로 Gitaly 구성 # 히스토리 최소 TLS 버전 구성 옵션이 GitLab 17.11에서 도입 되었습니다. TLS 지원을 구성하기 전에 Gitaly를 구성 하세요. TLS 지원 구성 프로세스는 설치 유형에 따라 다릅니다. Linux package (Omnibus) Self-compiled (source) Gitaly 서버용 인증서를 생성합니다. Gitaly 클라이언트에서 인증서(또는 해당 인증 기관)를 /etc/gitlab/trusted-certs 에 복사합니다: sudo cp cert.pem /etc/gitlab/trusted-certs/ Gitaly 클라이언트에서 /etc/gitlab/gitlab.rb 의 gitlab_rails['repositories_storages'] 를 다음과 같이 편집합니다: gitlab_rails[ 'repositories_storages' ] = { 'default' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, 'storage1' => { 'gitaly_address' => 'tls://gitaly1.internal:9999' }, 'storage2' => { 'gitaly_address' => 'tls://gitaly2.internal:9999' }, } 파일을 저장하고 GitLab을 재구성 합니다. Gitaly 서버에서 /etc/gitlab/ssl 디렉토리를 생성하고 키와 인증