๐Goal : ๋๋ฉ์ธ์ ๊ตฌ์ ํ์ฌ EC2 ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ , HTTPS, ์๋ธ๋๋ฉ์ธ, Redirection๊น์ง ์ ์ฉํด๋ณด์.
- ๋๋ฉ์ธ ์ ์ฉ
: ๊ฐ๋น์์์ 1๋ ์ง๋ฆฌ ๋๋ฉ์ธ์ ํ๋ ๊ตฌ์ ํด๋ณด์๋ค. ์ํ๋ ๋๋ฉ์ธ์ ์๋ฌด๊ฑฐ๋ ๊ตฌ์ ํ๋ฉด ๋จ.
๐ ์๋ฒ์ ๋๋ฉ์ธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด?
: ํ์ผ๊ณผ ์์คํ ์ ๋งคํํ๋ DNS ๋ ์ฝ๋๋ฅผ ํตํด ํน์ ๋๋ฉ์ธ์ด ์ฐ๊ฒฐํ๋ ค๋ ์๋ฒ๋ฅผ DNS ์๋ฒ์๊ฒ ์๋ ค์ฃผ์ด์ผ ํ๋ค.
๐ ๊ด๋ จ ๊ฐ๋ ์ ๋ฆฌ
- DNS ์๋ฒ : IP ์ฃผ์์ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ด์ด์ฃผ๋ ํ๊ฒฝ/์์คํ ์ด๋ค.
- ํธ์คํธ : ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ฅ์น ๋๋ ์๋ฒ๋ค์ ๋ถ์ฌ๋๋ ๊ณ ์ ํ ์ด๋ฆ์ผ๋ก ๊ธฐ๊ณ์ ์ธ ์ฃผ์ ๋์ ์ผ๋ฐ์ธ์ด ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ์ด๋ฆ์ผ๋ก ๋ง๋ค์ด์ง๋ค.
- TTL : Time to live -> IP ํจํท์ ์์กด ์๊ฐ (IP ํจํท์ด ๋ผ์ฐํ ๋๋ฉฐ ๊ฑฐ์ณ์ผํ ๋ผ์ฐํฐ์ ๊ฐ์ ํํ)
- A ๋ ์ฝ๋ : DNS์ ์ ์ฅ๋๋ ์ ๋ณด์ ํ์ ์ผ๋ก ๋๋ฉ์ธ ์ฃผ์์ ์๋ฒ์ IPv4 ์ฃผ์๋ฅผ ์ง์ ๋งคํ์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
- EX) test.gabia.com ์์ฑ์ ์ํ๋ค๋ฉด ํธ์คํธ ๋ช ์ test๋ฅผ ์ ๋ ฅํ๊ณ ์ฐ๊ฒฐํ๋ ค๋ ์ฌ์ดํธ์ IP์ฃผ์๋ฅผ ๋ฑ๋กํ๋ฉด ๋๋ค.
๐ ๋๋ฉ์ธ ์ ์ฉ์๋ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
1) ๊ฐ๋น์ ๋๋ฉ์ธ ๊ด๋ฆฌ ํด์ ์ด์ฉํด DNS ๋ ์ฝ๋ ์ถ๊ฐ
: ํธ์คํธ๋ฅผ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉํ๋ www๋ก ๋์ด์๋ ๋ ์ฝ๋, ๊ทธ๋ฆฌ๊ณ ํธ์คํธ ์ด๋ฆ ์์ด ๋๋ฉ์ธ๋ง ์ ๋ ฅํด๋ ์ฌ์ฉํ ์ ์๋๋ก @ ๋๋ฉ์ธ ๋ ์ฝ๋ ๋๊ฐ๋ฅผ ์ถ๊ฐํด์ ์ ์ฅํด์ฃผ์.
2) ๊ฐ๋น์ ๋ค์ ์๋ฒ๋ฅผ aws ๋ค์ ์๋ฒ๋ก ๋ณ๊ฒฝ (๋ฐ์ ์๊ฐ์ด ์กฐ๊ธ ์ค๋๊ฑธ๋ฆด ์๋ ์๋ค)
์ฐ์ ๋๋ฉ์ธ์ DNS(๊ฐ๋น์์์ ๋ค์์๋ฒ)์๋ฒ๋ฅผ AWS์ ๋ค์์๋ฒ๋ก ๋ฐ๊ฟ์ฃผ์. ์ด๋ฅผ ํตํด์ AWS DNS ์๋ฒ์ ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ AWS์ IP์ ์ฝ๊ฒ ์ฐ๊ฒฐํ ์ ์๋ค.
: ๋๋ฉ์ธ ์ด๋ฆ์ ๋ด๊ฐ ์๊น ๊ตฌ์ ํ ๊ฐ๋น์ ๋๋ฉ์ธ ๋ช ์ ์ ์ด์ฃผ๊ณ , ํผ๋ธ๋ฆญ ํธ์คํ ์ ํด์ค๋ค.
: AWS ๋ ์ฝ๋ ์์ญ์ ๋ด ๋๋ฉ์ธ์ผ๋ก ๋ A ๋ ์ฝ๋๋ฅผ ํ๋ ์ถ๊ฐํ๊ณ , ์ ๋ฒ์ ๊ตฌ์ถํด๋ AWS ์๋ฒ์ ip ์ฃผ์๋ฅผ ์ ๋ ฅํด DNS ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค. ์ด๋ฅผ ํตํด์ ์ํ ๋ชจ๋ฅด๋ ์ฌ์ด์ธ AWS ์๋ฒ์ ๊ฐ๋น์์ ๋๋ฉ์ธ์ด ์ฐ๊ฒฐ๋ ์ ์๋ ๊ฒ์ด๋ค!
- ๊ทธ๋ฆฌ๊ณ Nginx ์ค์ ํ์ผ์ ๋๋ฉ์ธ ๋ช ์ ๋ฑ๋กํด์ค์ผ ํฉ๋๋ค. server_name์ ์ถ๊ฐํด์ฃผ์ธ์.
sudo vim /etc/nginx/sites-available/default #์๋ก์ด ์๋ธ๋๋ฉ์ธ ์ค์ ์ ์ํด server ๋ธ๋ก์ ๋ง๋ค์ด์ค๋ค.
: ์ ๋ ดํ๊ธธ๋ ๋๋ฉ์ธ์ ๋ ๊ฐ ์ฌ์ ์คํํด๋ดค๋๋ฐ 1๋ฒ์ด ํจ์ฌ ๋ฐ์์ด ๋น ๋ฅด๋ค. ์ถ์ฒ!
-HTTPS ์ ์ฉ
๐ HTTP/ HTTPS
- HTTP : ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์ชฝ์์ ํต์ ํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ณธ ํต์ ํ๋กํ ์ฝ์ด๋ค. HTTP๋ ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ์ฌ์ด์ ์ ๋ณด๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์กํด ์ฝ๊ฒ ์ ๋ณด๋ฅผ ์ฟ๋ณผ ์ ์๋ค๋ ๋จ์ ์ด ์๋ค.
- HTTPS : HTTP์ ์ทจ์ฝ์ ์ ๋ง๊ธฐ ์ํด์ ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ SSL ํ๋กํ ์ฝ์ ํตํด ์ํธํ ํต์ ์ฑ๋์ ์ค์ ํ ๋ค์ ํ๋ฌธ HTTP ๋ฉ์ธ์ง๋ฅผ ์ ์กํด ์ ๋ณด ์ ์ถ์ ๋ง๋ https๊ฐ ์ฌ์ฉ๋๋ค.
- SSL : Secure Socket Layer ์ ์ค์๋ง๋ก, ์น ์ฌ์ดํธ์ ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ์ ์ก๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋ณด์์ ์ ์งํ๋ ๊ธฐ์ ์ด๋ค. ํด์ปค๊ฐ ์ ๋ณด๋ฅผ ์ด๋ํ๊ฑฐ๋ ์ ์ถํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ค.
๐ HTTPS ์ ์ฉ ๊ณผ์
- certbot ํ๋ก๊ทธ๋จ์ ํตํด์ ํธ๋ฆฌํ๊ฒ ์ธ์ฆ์๋ฅผ ์๋์ผ๋ก ๋ฐ๊ธ, ์ค์ , ๊ฐฑ์ ํ ์ ์๋ค.
sudo apt install python3-certbot-nginx #์ค์นํ๋ฉด ๋ค๋ฅธ ํ์ ํจํค์ง๋ค๋ ๋ธ๋ ค์จ๋ค.
sudo vi /etc/nginx/sites-available/default #nginx ์ค์ ํ์ผ์ ๋๋ฉ์ธ ์ด๋ฆ์ ์ถ๊ฐํด์ค๋ค.
sudo service nginx restart #nginx ์ฌ์์
sudo certbot --nginx -d [๋๋ฉ์ธ๋ช
] #์๋์ผ๋ก certbot์ด ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํด ์ค์ ํด์ค๋ค.
#redirect option์ ์ ํํด์ผ ์ด๋ค ์์ฒญ์ด ๋ค์ด์๋ https ์์ฒญ์ผ๋ก ์๋ ๋ฆฌ๋ค์ด๋ ํธํ๋ค.
sudo certbot renew --dry-run #์ธ์ฆ์ ์๋ ๊ฐฑ์ ํ
์คํธ
sudo service nginx restart
https://blog.buffashe.com/2020/09/get-ssl-cert-via-letsencrypt/
-์๋ธ ๋๋ฉ์ธ ์ ์ฉ
๐์๋ธ ๋๋ฉ์ธ์ด๋?
๋๋ฉ์ธ ๋ค์ ์์คํ (DNS) ๊ณ์ธต์์ ์๋ธ๋๋ฉ์ธ(subdomain) ๋๋ ํ์ ๋๋ฉ์ธ์ ๋ค๋ฅธ ๋๋ฉ์ธ์ ์ผ๋ถ์ธ ๋๋ฉ์ธ์ด๋ค.์๋ฅผ ๋ค์ด example.com์ด๋ผ๋ ์น์ฌ์ดํธ์ ์ผ๋ถ๋ก์ ์จ๋ผ์ธ ์คํ ์ด๋ฅผ ์ ๊ณตํ๊ฒ ๋๋ค๋ฉด ์๋ธ๋๋ฉ์ธ shop.example.com์ ์ฌ์ฉํ ์ ์๋ค.
๐์๋ธ ๋๋ฉ์ธ ์ ์ฉ ๋ฐฉ๋ฒ
- ๊ฐ๋น์ DNS ๊ด๋ฆฌํด์์ alias๋ฅผ ์ง์ ํ๋ CNAME ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํด์ฃผ๊ณ , ์ํ๋ ์๋ธ๋๋ฉ์ธ ๋ช ์ ์ ์.
- ์๋ธ๋๋ฉ์ธ๋ช ์ผ๋ก ๋๋ ํ ๋ฆฌ ์์ฑ
cd /var/www/html
sudo mkdir mail #์๋ธ๋๋ฉ์ธ ๋ช
์ผ๋ก ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
sudo mkdir blog
cd mail
sudo touch main.html
sudo vi main.html #๋ฉ์ธ ํ์ด์ง๋ฅผ ํ๋ ๋ง๋ค์ด๋๋ค.
cd blog
sudo touch main.html
sudo vi main.html
- nginx ์ค์ ํ์ผ ์์
sudo vim /etc/nginx/sites-available/default #์๋ก์ด ์๋ธ๋๋ฉ์ธ ์ค์ ์ ์ํด server ๋ธ๋ก์ ๋ง๋ค์ด์ค๋ค.
- ์๋ฒ ์ฌ์์
sudo service nginx restart
- ์๋ธ๋๋ฉ์ธ ์ ์ฉ ํ์ธ
: mail subdomain์ด ์ ์ ์ฉ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ์๋ธ๋๋ฉ์ธ https ์ค์
sudo certbot --nginx -d [๋๋ฉ์ธ ์ด๋ฆ1] -d [๋๋ฉ์ธ ์ด๋ฆ2]... #์๋ธ๋๋ฉ์ธ๊ณผ ๋ฉ์ธ๋๋ฉ์ธ๋ช
์ ๋ชจ๋ ์ ๋๋ค.
#์ง๋ฌธ์ด ๋จ๋ฉด e๋ฅผ ๋๋ฌ์ ์ธ์ฆ์๋ฅผ expandํ๋ค.
sudo service nginx restart
- Redirection
: ๋ณดํต ๋ฆฌ๋ค์ด๋ ์ ์ https redirection๊ณผ domain redirection(ip to domain redirection) ๋๊ฐ์ง๊ฐ ์๋ค.
https redirection์ ์์์ certbot์ ํตํด์ ์๋์ผ๋ก ์ค์ ์ด ๋์๊ณ , ์ด์ ip ์ฃผ์๋ฅผ ์ ๋ ฅํด๋ ๋๋ฉ์ธ์ผ๋ก ์ฐ๊ฒฐ๋๋๋ก redirection ์ค์ ์ ํด์ฃผ๋๋ก ํ๊ฒ ๋ค.
- nginx ์ค์ ํ์ผ์ server ๋ธ๋ก์ ์ถ๊ฐํด์ค๋ค.
sudo vim /etc/nginx/sites-available/default #Nginx์ ์ค์ ํด์ฃผ์ด์ผ ํ๋ค.
sudo service nginx restart
- ์ดํ์ ip ์ฃผ์๋ฅผ ์ ๋ ฅํด๋ ๋๋ฉ์ธ์ผ๋ก ์ฐ๊ฒฐ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๐ ์ฐธ๊ณ ์๋ฃ
http://www.codns.com/b/B05-195
'Web > Server' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐์ฌ์ฉ์ ์ธ์ฆ ๋ฐฉ์ - Cookie/Session, JWT, OAuth (1) | 2022.03.10 |
---|---|
REST API, ์๊ณ ์ฌ์ฉํ์! (0) | 2022.03.02 |
AWS EC2 ์๋ฒ ๊ตฌ์ถ/ํ๊ฒฝ์ค์ + DB ์ธ๋ถ ์ ์ (0) | 2022.02.15 |
Bitnami๋ก ๋ก์ปฌ ์๋ฒ ๊ตฌ์ถ/ํฌํธํฌ์๋ฉ์ ํตํ ์ธ๋ถ ์ ์ (0) | 2022.02.14 |
Ubuntu๊ฐ ๊ฒ์ ์ปค์์์ ๋ถํ ๋์ง ์๋ ์ค๋ฅ (10) | 2022.02.11 |