InfoGrab DocsInfoGrab Docs

GitLab 유지 관리 모드의 내부 동작 방식

GitLab 유지 관리 모드(Maintenance Mode)가 HTTP, SSH 요청 및 컨테이너 레지스트리 등에서 쓰기를 차단하는 내부 동작 방식을 설명합니다.

유지 관리 모드는 어디에서 적용되나요? # GitLab 유지 관리 모드는 Rails 애플리케이션 내의 몇 가지 핵심 위치에서 애플리케이션 레벨의 HTTP 및 SSH 요청에 의한 쓰기만을 차단 합니다. 코드베이스에서 maintenance_mode? 를 검색하세요. 읽기 전용 데이터베이스 메서드 : 데이터베이스에 쓰기가 허용되지 않을 때 특수 동작을 전환합니다. GET 요청에서 쓰기가 발생할 수 있는 위치에 이 메서드를 사용합니다. 코드베이스에서 Gitlab::Database.read_only? 를 검색하세요. 읽기 전용 미들웨어 : 명시적으로 허용된 경우(예: GET 요청)를 제외하고 데이터베이스 쓰기를 유발하는 HTTP 요청이 차단됩니다. SSH를 통한 Git 푸시 접근 거부 : gitlab-shell 이 /internal/allowed 에 POST 요청을 보내 접근 허용 여부를 확인 할 때 401을 반환하여 거부됩니다. 컨테이너 레지스트리 인증 서비스 : 컨테이너 레지스트리에 대한 업데이트가 차단됩니다. 데이터베이스 자체는 읽기 전용 모드가 아니며(Geo 보조 사이트 제외), 차단된 소스 이외의 소스에서 쓰기가 가능합니다.