1. Certbot 설치

// add repo
$ sudo add-apt-repository ppa:certbot/certbot

// install certbot
$ sudo apt install python-certbot-nginx

 

2. HTTPS(SSL)을 설정할, nginx 설정 체크

// check server_name
$ sudo vi /etc/nginx/sites-available/example.com

// server_name example.com www.example.com;

 

3. nginx relaod

Certbot이 nginx 서버 블록을 확인하게 하기 위해, nginx reload

// reload nginx
$ sudo system reload nginx

 

 

4. 우분투 방화벽 (ufw)에서 https 허용

방확벽을 사용하지 않는다면, 따로 설정할 필요는 없지만,

기존에 방화벽을 사용하고 있다면, 아래 링크의 3단계를 참고해서 방화벽 설정을 진행한다.

 

참고 : https://velog.io/@pinot/Ubuntu-18.04%EC%97%90%EC%84%9C-Lets-Encrypt%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-Nginx%EC%97%90-SSL%EC%9D%84-%EC%A0%81%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

번역) Ubuntu 18.04에서 Let's Encrypt를 사용하여 Nginx에 SSL을 적용하는 방법

우분투 환경에서 nginx에 certbot 클라이언트를 사용하여 자동적으로 SSL을 적용하는 방법에 대하여 알아보도록 합시다.

velog.io

 

5. HTTPS (SSL) 인증서 설치

$ sudo certbot --nginx -d example.com -d www.example.com

위의 명령어를 실행하면, 몇가지 과정을 진행 후, 아래와 같은 화면이 나온다.

Output
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):

// 1번은 http, https를 따로따로 접속할 수 있게 한다.
// 2번 설정은 http접속을 강제로 https로 모두 변경하므로 https접속만 할 수 있게 된다.

나는 2번을 선택했다.

원하는 번호를 선택하고, 엔터를 누르면 Nginx가 자동으로 재시작되고, 인증서가 저장된 위치를 알려주고, certbot은 종료된다.

 

6. Let's Encrypt HTTPS(SSL) 갱신

$ sudo certbot renew --dry-run

아주 간단하게, 위 명령어만 입력하면 certbot으로 진행한, HTTPS (SSL)을 모두 갱신할 수 있다.

 

Ubuntu Cron을 이용해서, 위의 갱신 명령어를 스케쥴링으로 하는 방법은 다음 포스팅에서...

 

 

참고 : https://velog.io/@pinot/Ubuntu-18.04%EC%97%90%EC%84%9C-Lets-Encrypt%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-Nginx%EC%97%90-SSL%EC%9D%84-%EC%A0%81%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

+ Recent posts