https://twpower.github.io/44-set-free-https-by-using-letsencrypt
해당 링크의 자동화 된 Let's Encrypt 를 통해 HTTPS 설정을 했다.
webroot에 직접 설정하는 방법도 있으나, certbot을 설치하고 SSL인증 및 갱신을 자동화 하는 방법을 택했다. 위의 링크에는 자동화 및 직접 설정하는 방법 모두 설명되어 있다.
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
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
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번 옵션으로 진행했다.
sudo certbot renew --dry-run