Gitaly TLS 지원
Gitaly TLS 지원에 대해 설명합니다.
Gitaly는 TLS 암호화를 지원합니다. 보안 연결을 수신하는 Gitaly 인스턴스와 통신하려면 GitLab 구성에서 해당 스토리지 항목의 gitaly_address 에 tls:// URL 스킴을 사용합니다. Gitaly는 GitLab과의 TLS 연결에서 서버 인증서와 동일한 인증서를 클라이언트 인증서로 제공합니다. 클라이언트 인증서를 검증해 GitLab 접근을 허용하는 리버스 프록시(예: NGINX)와 결합하면 상호 TLS 인증 전략의 일부로 활용할 수 있습니다. 인증서는 자동으로 제공되지 않으므로 직접 준비해야 합니다. 각 Gitaly 서버에 해당하는 인증서는 그 Gitaly 서버에 설치해야 합니다. 또한 인증서(또는 그 인증 기관)는 다음 모두에 설치해야 합니다. Gitaly 서버. 해당 서버와 통신하는 Gitaly 클라이언트. 로드 밸런서를 사용한다면 ALPN TLS 확장으로 HTTP/2를 협상할 수 있어야 합니다. 인증서 요구 사항 # 인증서에는 Gitaly 서버에 접근할 때 사용하는 주소가 명시되어야 합니다. 호스트명 또는 IP 주소를 Subject Alternative Name으로 인증서에 추가해야 합니다. Gitaly 서버는 암호화되지 않은 수신 주소 listen_addr 과 암호화된 수신 주소 tls_listen_addr 을 동시에 구성할 수 있습니다. 이를 통해 필요하다면 암호화되지 않은 트래픽에서 암호화된 트래픽으로 점진적으로 전환할 수 있습니다. 인증서의 Common Name 필드는 무시됩니다. TLS로 Gitaly 구성 # 히스토리 GitLab 17.11에서 최소 TLS 버전 구성 옵션이 도입 되었습니다. 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 디렉터리를 만들고 키와 인증서를 그곳으로 복사합니다. sudo mkdir -p /