이전에 설치한 Harbor에 HTTPS접속을 하는 방법에 대해 알아봅니다.
0. Harbor설치
HTTPS를 제외한 Harbor설치는 다음 글을 참고해 주시기 바랍니다.
1. certbot 설치.
인증서를 Let's Encrypt에서 발급 받아볼 예정입니다. 공식 홈페이지에서도 나와있지만 셸에 접근이 가능하다면 certbot을 통해 발급받는 것을 추천하고 있습니다.
다음 명령어를 통해 certbot을 사용하기 위한 준비를 합니다.
> sudo apt-get update
> sudo apt-get install software-properties-common
> sudo add-apt-repository universe
> sudo add-apt-repository ppa:certbot/certbot
**** 만약 우분투 서버 버전이 20.04라면 "sudo apt-add-repository -r ppa:certbot/certbot"를 실행하세요
> sudo apt-get update
위의 명령어를 모두 실행 한 뒤 다음 명령어를 통해 certbot을 설치합니다.
> sudo apt-get install certbot python-certbot-nginx
2. 인증서 발급.
만약 harbor가 실행중이라면 nginx에러가 발생합니다. 먼저 다음 명령어를 통해 harbor를 내려줍시다.
> sudo docker-compose down -v
그리고 certbot을 이용해 인증서를 발급받습니다.
> sudo certbot certonly --standalone
3. 인증서 적용.
인증서 파일과 키 파일이 생성되었습니다. 다루기 편하게 두 파일을 cert 폴더로 복사합니다.
> mkdir cert
> cd cert
> sudo cp /etc/letsencrypt/live/[DOMAIN]/fullchain.pem fullchain.pem
> sudo cp /etc/letsencrypt/live/[DOMAIN]/privkey.pem privkey.pem
공식 홈페이지에선 OpenSSL을 이용한 방식의. crt파일과. key파일을 넣어주고 있지만 pem파일을 그대로 넣어도 잘 동작합니다.
이걸 그대로 설정 파일에 사용하도록 변경해 봅시다.
이제 docker-compose파일을 다시 생성해야 합니다. 아래의 명령어로 docker-compose파일을 다시 생성해 주세요.
> subo ./prepare
다시 생성된 docker-compose파일을 적용하기 위해 harbor를 실행해줍니다.
> sudo docker-compose up -d
** 만약 harbor가 이미 실행 중이었다면 먼저 종료한 후 다시 키셔야 합니다.
이제 입력한 도메인/ip주소로 이동해 보시면 인증서가 적용된 것을 확인할 수 있습니다.
'Programming > Linux' 카테고리의 다른 글
[SSH] ssh 기본 포트 변경하기. (0) | 2020.06.03 |
---|---|
[Docker] Harbor에 LDAP 연결하기. (0) | 2020.04.28 |
[Ubuntu] FTP: vsFTPD Passive 모드로 변경하기. (0) | 2020.04.27 |
[Docker] Harbor를 이용한 Private Registry 구축 (0) | 2020.02.26 |
[Ubuntu] LDAP: OpenLDAP 설치하기 (0) | 2020.01.20 |