Docker 방식 으로 GitLab, Nginx 역방향 에이전트 Https 배치
2. 호스트 에서 데이터 저장 디 렉 터 리 만 들 기
mkdir /srv/gitlab & cd /srv/gitlab
mkdir config logs data
설정 수정 과 후기 유 지 를 편리 하 게 하기 위해 서 는 docker 에 있 는 gitlab 서비스 에 있 는 디 렉 터 리 를 새 config, logs, data 세 개의 하위 항목 으로 표시 해 야 합 니 다.
3. gitlab 미 러 를 끌 어 내 고 용 기 를 시작 합 니 다.
docker pull gitlab/gitlab-ce:latest
docker run --detach \
--hostname gitlab.example.cn \
--publish 20443:443 \
--publish 20080:80 \
--publish 20022:22 \
--name gitlab \
--restart always\
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
docker pull 을 실행 하지 않 아 도 됩 니 다. docker run 을 실행 할 때 대응 하 는 image 가 없 으 면 pull 을 자동 으로 실행 하여 image 를 가 져 옵 니 다.
4. gitlab 프로필 수정 https 지원 사용
cd /srv/gitlab/config
mkdir ssh
cp /data/wwwroot/crtkey/gitlab.crt gitlab.crt
cp /data/wwwroot/crtkey/gitlab.key gitlab.key
vim gitlab.rb
gitlab. crt 와 gitlab. key 는 도 메 인 이름 을 연결 하 는 ssl 에서 보 낸 비밀 키 와 인증서 입 니 다. 따로 신청 해 야 합 니 다.
gitlab. rb 다음 설정 열기
external_url 'https://gitlab.example.cn'
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
프로필 저장, 용기 다시 시작
docker restart gitlab
5. Nginx 역방향 에이전트 설정
nginx 대응 사이트 conf 에 설정 정 보 를 추가 합 니 다.
## HTTP HTTPS
server {
listen 80;
server_name gitlab.exmaple.cn;
charset utf-8;
access_log /var/log/nginx/gitlab.access.log;
error_log /var/log/nginx/gitlab.error.log;
rewrite ^ https://gitlab.exmaple.cn;
}
## GitLab
server {
listen 443 ssl;
server_name gitlab.exmaple.cn;
charset utf-8;
access_log /var/log/nginx/gitlab.access.log;
error_log /var/log/nginx/gitlab.error.log;
ssl on;
ssl_certificate /data/gitlab/ssl/xiaowo/xiaowo.me.crt;
ssl_certificate_key /data/gitlab/ssl/xiaowo/xiaowo.me.key;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_pass https://127.0.0.1:20443;# 20443
}
}
service nginx restart #
지금 방문 하 셔 도 됩 니 다.https://gitlab.example.cn페이지 를 열 었 지만 이상 하 게 도 페이지 스타일 이 엉망 이 되 었 습 니 다. 사실 js 와 css 파일 은 불 러 오지 않 았 습 니 다.이 문 제 를 일 으 킨 이 유 는 Nginx 가 프 록 시 를 반대 할 때 정적 자원 도 프 록 시 를 설정 해 야 하기 때 문 입 니 다. 다음은 Nigx 설정 파일 에 다음 과 같은 설정 을 추가 합 니 다.
location ~ .*\.(js|css|png)$ {
proxy_pass https://127.0.0.1:20443;
}
service nginx restart #
OK! 이제 https 의 gitlab 를 즐겁게 사용 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.