GitLab with Let's Encrypt integration

GitLab with Let's Encrypt integration

GitLab이 10.5부터 Let's Encrypt를 자체적으로 지원하기 시작했네.
참고로 2018년 4월 현재 이미 GitLab 버전은 10.6.x임.. 올라간지 좀 됐나본데 ㅋ
아마도 ACMEv2는 안 될지도 모르겠고..
사실상 GitLab 단독으로 쓰는 경우도 크게 많지 않을걸로 보여서..

간단하게 방법만 정리.

ref: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-gitlab-on-ubuntu-16-04

  1. 방화벽 정리
    일단 방화벽에 http, https를 풀어주자. 외부에서 접속되어야 한다.

  2. gitlab 설정
    /etc/gitlab/gitlab.rb을 열어서 다음과 같이 수정한다.

external_url 'http**s**://yourdomain'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]']

즉, external_url에 https로 바꾸고 도메인을 기록하고, 아래 두 줄을 추가한다.

  1. gitlab 재시작
    sudo gitlab-ctl reconfigure
    reconfigure 실행 도중 Let's Encrypt 인증서 발급을 수행한다.
    인증서 발급에 실패하면 중단된다.

  2. 인증서 갱신
    ref: https://docs.gitlab.com/omnibus/settings/ssl.html
    crontab -e
    0 0 * * * /opt/gitlab/bin/gitlab-ctl renew-le-certs > /dev/null를 추가하는 형식을 추천하고 있다.