Version Control/Git
GitLab에 HTTPS 보안 적용을 위한 OpenSSL 설정하기
후뤼한잉여
2015. 11. 10. 00:51
GitLab에 HTTPS 보안 적용을 위한 OpenSSL 설정하기
1) 개요
HTTP로 사용중 OpenSSL 기술을 적용해보고자 설정한 내용을 정리하기 위해 작성되었습니다.
2) 인증서 생성하기
- 개인키 생성하기
sudo openssl genrsa -des3 -out [설정 파일 이름].key 1024 //일반적으로 server.key를 사용
- CSR 파일 생성하기
개인 인증기관 파일인듯하고 나중에 정리하겠습니다.openssl req -new -days 365 -key [설정 파일 이름].key -out [설정 파일 이름].csr
Country Name = [KR] State or Province Name = [시 이름] Locality Name = [구 이름] Organization Name = [회사명] Organizational Unit Name = [부서명] //공백 가능 Common Name = [사용하는 도메인 이름] Email = [이메일 주소] Challenge password = [] //공백 가능 optional company name = [] //공백 가능
- 개인키 파일에 암호 제거하기
cp [설정 파일 이름].key [설정 파일 이름].key.org //백업 openssl rsa -in [설정 파일 이름].key.org -out [설정 파일 이름].key
- 공유키(인증서) 생성하기
openssl x509 -req -days 365 -in [설정 파일 이름].csr -signkey [설정 파일 이름].key -out [설정 파일 이름].crt
3) GitLab에 HTTPS 적용하기
- GitLab 설정파일 수정하기
sudo vi /etc/gitlab/gitlab.rb
- gitlab.rb에 수정할 내용
external_url '[HTTP를 HTTPS로 변경]' nginx['redirect_http_to_https'] = true nginx['redirect_http_to_https_port'] = [포트번호] //HTTP 주소로 접속하면 HTTPS로 리다이렉트 시켜주는 옵션이다.
- gitlab.rb에 수정할 내용
- SSL 디렉토리 생성 및 키 적용하기
sudo mkdir -p /etc/gitlab/ssl sudo chmod 700 /etc/gitlab/ssl sudo mv [설정 파일 이름].crt /etc/gitlab/ssl sudo mv [설정 파일 이름].key /etc/gitlab/ssl
- HTTPS 방화벽 해제하기
sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload
- GitLab 레파지토리 재설정하기
sudo gitlab-ctl reconfigure
- Git Client 사용자 SSL 인증 오류시 아래 내용 중 선택하여 적용하기
- SSL 검증 안하는 방법
git config --global http.sslVerify false
- 제대로된 인증기관으로부터 인증 받는 방법
대부분 유료이지만 간혹 무료로 인증해주는 곳도 있습니다.
대표적인 무료 SSL 사이트는 StartSSL이 있습니다.
- SSL 검증 안하는 방법