InfoGrab Docs

정적 객체를 위한 외부 스토리지

리포지터리의 정적 객체를 위한 CDN과 같은 외부 스토리지를 구성합니다.

콘텐츠 전송 네트워크(CDN)와 같은 외부 스토리지에서 리포지터리 정적 객체(아카이브 또는 원시 블롭 등)를 제공하도록 GitLab을 구성합니다. 외부 스토리지 구성 # 사전 요구사항: 관리자 접근 권한. 정적 객체를 위한 외부 스토리지를 구성하려면: 오른쪽 상단 모서리에서 Admin 을 선택합니다. Settings > Repository 를 선택합니다. External storage for repository static objects 를 펼칩니다. 기본 URL과 임의의 토큰을 입력합니다. 외부 스토리지를 설정 할 때 이 값들을 ORIGIN_HOSTNAME 과 STORAGE_TOKEN 으로 설정하는 스크립트를 사용합니다. Save changes 를 선택합니다. 토큰은 외부 스토리지에서 오는 요청을 구별하기 위해 필요하므로, 사용자가 외부 스토리지를 우회하여 애플리케이션에 직접 접근하지 못하게 합니다. GitLab은 외부 스토리지에서 오는 요청의 X-Gitlab-External-Storage-Token 헤더에 이 토큰이 설정되어 있을 것으로 예상합니다. 비공개 정적 객체 제공 # GitLab은 외부 스토리지가 사용자를 대신하여 인증할 수 있도록 비공개 프로젝트에 속한 정적 객체 URL에 사용자별 토큰을 추가합니다. 외부 스토리지에서 오는 요청을 처리할 때, GitLab은 다음을 확인하여 사용자가 요청된 객체에 접근할 수 있는지 확인합니다: token 쿼리 파라미터. X-Gitlab-Static-Object-Token 헤더. 요청 흐름 예시 # 다음 예시는 다음 간의 요청 및 응답 순서를 보여줍니다: 사용자. GitLab. 콘텐츠 전송 네트워크. Mermaid 다이어그램 (19줄) 소스 코드 보기 %%{init: { "fontFamily": "GitLab Sans" }}%% sequenceDiagram accTitle: Request and response flow accDescr: Describes how requests and responses flow from the user, GitLab, and a CDN. User->>GitLab: GET /project/-/archive/master.zip GitLab->>User: 302 Found Note over User,GitLab: Location: https://cdn.com/project/-/archive/master.zip?token=secure-user-token User->>CDN: GET /project/-/archive/master.zip?token=secure-user-token alt object not in cache CDN->>GitLab: GET /project/-/archive/master.zip Note over CDN,GitLab: X-Gitlab-External-Storage-Token: secure-cdn-token<br/>X-Gitlab-Static-Object-Token: secure-user-to