์ด์ ๋ธ๋ก๊ทธ
์ด์ ์ค์ (Django + gunicorn + nginx)์ ๋๋ด๊ณ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ ๋ฌ๋ฐ์๋ค.
์ด ๋๋ฉ์ธ์ letsencrypt๋ฅผ ์ ์ฉํด์ ๋ณด์ ์ค์ ์ ํ๋ค(์ฝ๊ฒ ๋งํด http
๋ฅผ https
๋ก ๋ฐ๊พธ๋ ์์
)
์ฐ์ SSL์ด ๋ญ์ง ์์๋ณด์
์ ์ก๊ณ์ธต
: ํ๋ก์ธ์ค๊ฐ์ ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ์ ์ก์ ๋ด๋นํ๋ ๊ณ์ธต์์ฉ๊ณ์ธต
: ์ฌ์ฉ์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๊ณ์ธต. ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ด ๊ณ์ธต์์ ๋์ํ๋ฉฐLet's Encrypt ๋ SSL์ ๋ฐ๊ธํ๋ ๊ธฐ๊ด์ผ๋ก ์ต์์ ๋ฐ๊ธ๊ธฐ๊ด ์ค ํ๋์ด๋ค.
์ ์ ์จ์ด ๋งค์ฐ ๋ฎ์ง๋ง, ๋ฐ๊ธ ์ ์ฐจ๊ฐ ๊ฐ๋จํ๊ณ ๋ฌด๋ฃ๋ค
# ๋ฌด์ธ๊ฐ๋ฅผ ์ค์นํ๊ธฐ ์ ์ ์๋ ๋ช
๋ น์ด๋ก ํจํค์ง๋ค์ ์
๋ฐ์ดํธ & ์
๊ทธ๋ ์ด๋ ์์ผ์ค์ผ ํ๋ค
$ sudo apt-get update
$ sudo apt-get upgrade
# ์๋ฒ์ certbot ์ถ๊ฐํ๊ธฐ
$ sudo apt-get-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
$ sudo certbot --nginx -d soohyun.co.kr -d www.soohyun.co.kr
๊น์ง ํ๋ฉด, certbot์ ์ฌ์ฉํ ์ค๋น๋ ์๋ฃ ๋๋ค. ๊ทธ๋ฌ๋, server block์๋ 80ํฌํธ ๊ด๋ จ๋ ์ค์ ๋ง ๋์ด ์๊ธฐ ๋๋ฌธ์ ssl ํฌํธ์ธ 443 ํฌํธ๋ ์ค์ ํด์ค์ผ ํ๋ค.
์ด์ ๋ธ๋ก๊ทธ์์ nginx๋ฅผ ์ค์นํ ๋ค, ์ธํ
ํ์ผ ์ค์ ํด์คฌ๋ ๊ณณ์ 443 ํฌํธ๋ ์ค์ ํด์ค๋ค.
# ํฐ๋ฏธ๋์์ ์๋ ๋ช
๋ น์ด๋ก sites-enabled / sites-enabled ์์น๋ก ์ด๋
# ์๋ ๋๊ฐ์ ๊ฒฝ๋ก์ ์๋ ๋ด์ฉ ๋๊ฐ์ด ์
๋ ฅํ๊ธฐ
$ cd /etc/nginx/sites-enabled
$ cd /etc/nginx/sites-available
# ์๋ ๋ด์ฉ ์
๋ ฅ
# ๋๋ฉ์ธ ์ฃผ์๊ฐ soohyun.co.kr ์ด๋ผ๋ฉด
server {
listen 80;
server_name soohyun.co.kr www.soohyun.co.kr;
charset utf-8;
location / {
return 307 https://soohyun.co.kr$request_uri;
}
# location / {
# include proxy_params;
# proxy_pass http://4.75.234.513:8000;
# }
# location /static/ {
# alias /home/ubuntu/webform-parser/parser_server;
# }
}
server {
listen 443;
listen [::]:443;
ssl on;
server_name soohyun.co.kr.co.kr www.soohyun.co.kr;
ssl_certificate /etc/letsencrypt/live/soohyun.co.kr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/soohyun.co.kr/privkey.pem;
location / {
include proxy_params;
proxy_pass http://4.75.234.513:8000;
}
}
$ sudo nginx -t
$ sudo systemctl restrat nginx
๊ทธ๋ผ http๋ก ์ ์ํด๋ https ๋ก ์ฐ๊ฒฐ๋๊ณ ,
https๋ก ๋ค์ด๊ฐ๋ฉด ๋๋ฉ์ธ ์ํ์ค์ ์๋ฌผ์ ๋ชจ์์ด ๋จ๋ฉด์ ๋ณด์ ์ฒ๋ฆฌ ๋์์ ์ ์ ์๋คโ๏ธ
๋!
๐ ๊ทธ ์ธ ๋ช ๋ น์ด
# letsencrypt ๋ฒ์ ํ์ธ
$ letsencrypt --version
# ์ฐ๋ถํฌ ๋ฒ์ ํ์ธ
$ cat /etc/issue
# ์ด๋ค ์ธ์ฆ์๊ฐ ์๋์ง ํ์ธํ๋ ๋ช
๋ น์ด
$ sudo certbot certificates
Secure Socket Lasyer
์คํ ๋ฐ๊ฒฌํด์ ์๋ ค๋๋ฆฝ๋๋ค!