본문 바로가기
문제 해결, 기술 비교/개인프로젝트(북클럽)

cerbot로 SSL 인증서 만들기

코동이 2022. 5. 24.

개요


ubuntu 18.04 환경에서 개인 프로젝트를 하던 중, Spring Security를 활용한 로그인을 하던 중 http에 https 적용하고 싶었습니다. 실제 운영에서는 https 적용을 위해 한국 전자인증에서 도메인에 맞는 SSL을 구입하여 적용하였습니다.

 

 

Cerbot이란?


Cerbot는 무료로 TLS인증서를 발급받을 수 있는 라이브러리로 Let's Encrypt라는 비영리 기관에서 관리됩니다. 루트 도매인, 서브 도매인, 와일드카드 도매인 인증서까지 무료로 발급 받을 수 있습니다.

 

Apache와 nginx에 TLS/SSL 설정이 자동으로 되어 nginx에 많이 사용됩니다.

시스템 관리자로 웹서버에서 다이렉트로 사용됩니다.

 

 

  • cerbot 설치하기
//certbot 을 설치 하기 위해 먼저 epel repository 를 등록합니다.
sudo yum -y install epel-release yum-utils

//certbot 및 nginx plugin을 설치합니다.
sudo yum -y install certbot certbot-nginx

 

공식 홈페이지에서는 아래 사이트에서 snap으로 다운받기를 권장합니다.

왜냐하면 snap은 최신 버전의(예를 들어 자동 인증서 갱신) certbot인지 쉽게 확인할 수 있는 방법을 제공하기 때문입니다.

https://certbot.eff.org/instructions

 

Certbot Instructions

Tagline

certbot.eff.org

 

 

  • nginx에 등록된 호스트들 인증서(SSL) 발급받기

nginx에 등록된 호스트 인증서를 발급 받습니다. 아래와 같이 수행하면 certbot이 nginx 의 설정파일을 참조하여 등록된 모든 호스트에 대해서 인증서 발급을 받을 수 있습니다. 

sudo certbot --nginx --email admin@h2code.cf --agree-tos

 

이메일로 소식을 받을지 물어봅니다. N을 입력해도 됩니다.

모든 호스트 인증서(SSL) 발급받기

 

 

혹은 아래와 같이 특정 도메인만 인증서(SSL) 를 발급 받을 수 있습니다.

sudo certbot --nginx -d www.h2code.cf --email admin@h2code.cf --agree-tos

 

 

도메인 이름을 입력하라고 합니다. 도메인을 입력하고 엔터(Y)를 칩니다.

 

 

 HTTPS로 Redirect 설정을 certbot이 대신해줄 것인지 아닌지를 선택합니다. 2번을 선택하면 certbot이 기존의 conf 파일에서 redirect 구문을 추가하고 포트 변경 ,ssl_ciphers,ssl_protocols 정보를 모두 다 설정합니다.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel)

 

 

생성이 완료 되었으며 만료 기간은 2021-04-01입니다. 키 파일은 /etc/letsencrypt/live/h2code.cf 아래 위치하고 있다고 알려줍니다. Centos OS와 Ubuntu 경로 모두 동일합니다.

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/h2code.cf/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/h2code.cf/privkey.pem
Your cert will expire on 2021-04-01. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

 

 

 

 

참고

https://hoing.io/archives/11906

https://eff-certbot.readthedocs.io/en/stable/install.html

최신 Let’s Encrypt SSL 인증서 발급 방법 4가지 정리

https://www.vompressor.com/tls1/

반응형