다중 노드 GitLab을 위한 로드 밸런서
다중 노드 인스턴스와 함께 로드 밸런서를 사용합니다.
다중 노드 GitLab 구성에서는 애플리케이션 서버로 트래픽을 라우팅하기 위한 로드 밸런서가 필요합니다. 사용할 로드 밸런서나 정확한 구성에 대한 세부 사항은 GitLab 문서의 범위를 벗어납니다. GitLab과 같은 HA 시스템을 관리하는 경우 이미 선호하는 로드 밸런서가 있기를 바랍니다. 예시로는 HAProxy(오픈 소스), F5 Big-IP LTM, Citrix NetScaler가 있습니다. 이 문서는 GitLab과 함께 사용할 포트와 프로토콜을 설명합니다. SSL # 다중 노드 환경에서 SSL을 어떻게 처리하시겠습니까? 여러 가지 옵션이 있습니다: 각 애플리케이션 노드가 SSL을 종료 로드 밸런서가 SSL을 종료하고 로드 밸런서와 애플리케이션 노드 간 통신이 안전하지 않음 로드 밸런서가 SSL을 종료하고 로드 밸런서와 애플리케이션 노드 간 통신이 안전함 애플리케이션 노드가 SSL 종료 # 로드 밸런서를 구성하여 포트 443에서 연결을 'HTTP(S)' 프로토콜이 아닌 'TCP'로 전달합니다. 이렇게 하면 연결이 애플리케이션 노드 NGINX 서비스로 그대로 전달됩니다. NGINX에는 SSL 인증서가 있으며 포트 443에서 수신합니다. SSL 인증서 관리 및 NGINX 구성에 대한 자세한 내용은 HTTPS 문서 를 참조하세요. 백엔드 SSL 없이 로드 밸런서가 SSL 종료 # 로드 밸런서를 TCP 대신 HTTP(S) 프로토콜을 사용하도록 구성합니다. 로드 밸런서는 SSL 인증서를 관리하고 SSL을 종료할 책임이 있습니다. 로드 밸런서와 GitLab 간의 통신이 안전하지 않으므로 추가 구성이 필요합니다. 자세한 내용은 프록시 SSL 문서 를 참조하세요. 백엔드 SSL과 함께 로드 밸런서가 SSL 종료 # 로드 밸런서를 TCP 대신 HTTP(S) 프로토콜을 사용하도록 구성합니다. 로드 밸런서는 최종 사용자가 볼 SSL 인증서를 관리할 책임이 있습니다. 이 시나리오에서는 로드 밸런서와 NGINX 간의 트래픽이 안전합니다. 연결이 전체적으로 안전하기 때문에 프록시 SSL 구성을 추가할 필요가 없습니다. 그러나 SSL 인증서를 구성하기 위해 GitLab에 구성을 추가해야 합니다. SSL 인증서 관리 및 NGINX 구성에 대한 자세한 내용은 HTTPS 문서 를 참조하세요. 포트 # 기본 포트 # LB 포트 백엔드 포트 프로토콜 80 80 HTTP ( 1 ) 443 443 TCP 또는 HTTPS ( 1 ) ( 2 ) 22 22 TCP ( 1 ): 로드 밸런서는 GitLab Duo Chat (비에이전트) , 이슈 및 머지 리퀘스트의 실시간 레이블 업데이트, 웹 터미널 과 같은 기능을 위한 WebSocket 연결을 지원해야 합니다. WebSocket을 지원하지 않는 로드 밸런서(예: AWS Classic Load Balancer)는 이러한 기능에 대해 GitLab과 호환되지 않습니다. HTTP 또는 HTTPS 프록시를 사용할 때 로드 밸런서는 Connection 및 Upgrade 홉-바이-홉 헤더를 백엔드 서버로 전달하도록 구성해야 합니다. 이는 D
