HTTPS 통신을 위한 certbot 설정

tkddls8848·2022년 3월 3일
0

NARA-API

목록 보기
4/17

https://twpower.github.io/44-set-free-https-by-using-letsencrypt

해당 링크의 자동화 된 Let's Encrypt 를 통해 HTTPS 설정을 했다.

webroot에 직접 설정하는 방법도 있으나, certbot을 설치하고 SSL인증 및 갱신을 자동화 하는 방법을 택했다. 위의 링크에는 자동화 및 직접 설정하는 방법 모두 설명되어 있다.

1. certbot 설치

Ubuntu 16.04 (LTS), Ubuntu 18.04 (LTS) 저장소 세팅
저장소 설정 및 업데이트 진행

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update

certbot 설치

sudo apt-get install certbot python3-certbot-nginx

2. Nginx 세팅

sudo vi /etc/nginx/sites-available/default.conf
server {

    listen      80;
    listen [::]:80;

    charset     utf-8;
    server_name naraapi.com www.naraapi.com

	location / {
    	proxy_pass http://www.naraapi.com
    }   
}

설정이 완료 되었다면 저장하고 아래 명령어를 통해서 재시작.

sudo nginx -t
sudo service nginx reload

3. SSL 인증 획득하기

sudo certbot --nginx -d example.com -d www.example.com
-------------------------------------------------------------------------------
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): 2

나는 모든 http에 대한 리다이렉트를 허용하는 2번 옵션으로 진행했다.

4. 인증서 자동갱신 설정 확인

sudo certbot renew --dry-run

5. SSL 적용 확인 및 평가

https://www.ssllabs.com/ssltest/

profile
매일 배워 나갑니다.

0개의 댓글