https ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด http์ ๋ณด์ ์ทจ์ฝ์ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค.
https ํ๋กํ ์ฝ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ SSL ์ด๋ผ๋ ์ธ์ฆ์๋ฅผ ๋ฐ์์ผํ๋ค.
์ด๋ฅผ ๋ฌด๋ฃ๋ก ๋ฐ๊ธํด ์ฃผ๋ ์ฌ์ดํธ๊ฐ letsEncrypt ์ด๋ค.
๊ฐ์
Let’s Encrypt๋?
Let’s Encrypt๋ SSL ์ธ์ฆ์๋ฅผ ๋ฌด๋ฃ๋ก ๋ฐ๊ธํด์ฃผ๋ CA(Certificate Authorities)์ ๋๋ค. ์ฌ๋ฌ ๊ธ๋ก๋ฒ ๊ธฐ์ ์ ํ์์ ๋ฐ๊ณ ์์ผ๋ฉฐ ๋ชจ์ง๋ผ(Mozilla) ์ฌ๋จ์์ ‘์ ๋ขฐํ ์ ์๋ ์ธ์ฆ ๊ธฐ๊ด(Trusted CA)’ ์ผ๋ก ์ธ์ฆ๋ ๋ฐ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฒ ๋ฆฌ์ฌ์ธ(VeriSign)์ด๋ ์ฝ๋ชจ๋(Comodo)์ ๊ฐ์ ์ ๋ช ์ธ์ฆ ์ ์ฒด์ ๊ฐ์ ์ ๋ขฐ๋๋ฅผ ๊ฐ์ง๋ฉฐ SSL ์ํธํ ๊ธฐ์ ๋ฐฉ์๊ณผ ๋์๋ ์ ํํ ๋์ผํฉ๋๋ค. ๋จ์ง ๋ค๋ฅธ ๊ฒ์ ์ฌ์ดํธ์ ์ธ์ฆ์ ๋ฌธ์ ๊ฐ ์์ด ์ต์ข ์น์ฌ์ดํธ ๋ฐฉ๋ฌธ์๊ฐ ํผํด๋ฅผ ์ ์์ ๊ฒฝ์ฐ ๋ฐฐ์ ์ฌ๋ถ๋ง ์ฐจ์ด๊ฐ ์์ ๋ฟ์ ๋๋ค. ์ฌ๊ธฐ๋ฅผ ๋๋ฅด๋ฉด ์ถ๊ฐ์๊ฑฐ์ธ SSL๊ณผ CA์ ๋ํ ์ฝ๊ณ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ ๊ธ์ ๋ณผ ์ ์์ต๋๋ค.
Certbot
Let’s Encrypt์ SSL์ธ์ฆ์๋ ACME(Automatic Certificate Management Environment) ํ๋กํ ์ฝ์ ์ค์ํ๋ ํ๋ก๊ทธ๋จ์ ์ด์ฉํด ๋ฐ๊ธ์ ๋ฐ์ ์ ์๋๋ฐ Let’s Encyrpt๋ Certbot ์ฌ์ฉ์ ๊ถ์ฅํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ๋ฅผ ๋ฐฉ๋ฌธํ๋ฉด ACME๋ฅผ ์ง์ํ๋ ๊ธฐํ ํ๋ก๊ทธ๋จ ๋ชฉ๋ก์ ๋ณผ ์ ์์ต๋๋ค. ์ฐธ๊ณ ๋ก 2016๋ 5์๊น์ง Certbot์ letsencrypt ๋ letsencrypt-auto๋ก ๋ถ๋ ธ์ต๋๋ค.
Certbot์ ์์คํ ๊ด๋ฆฌ์๊ฐ ์๋ฒ์์ ์คํํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค. ์์คํ ๊ด๋ฆฌ์๋ Certbot์ ํตํด ์ธ์ฆ์๋ฅผ ์ง์ ์์ฒญํ ์ ์์ต๋๋ค. ๋ค์ํ ์น์๋ฒ์ ์ด์์ฒด์ ์ ์ ํฉํ ํจํค์ง ์ญ์ ๋ฐฐํฌํ๊ณ ์์ต๋๋ค. ์ด ํ์ด์ง์์ ์์ ์ ํ๊ฒฝ์ ๋ง๋ ํจํค์ง๋ฅผ ๊ฒ์ํ๊ณ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค. Certbot์ ๋ํ ๋ฌธ์๋ ์ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
[์ถ์ฒ: devlog.jwgo.kr/2019/04/16/what-is-letsencrypt/]
letsencrypt ๋ ssl ์ธ์ฆ์๋ฅผ ๋ฌด๋ฃ๋ก ๋ฐ๊ธํด ์ฃผ๋ ๊ธฐ๊ด! ์ด ๊ธฐ๊ด์์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ์ cerbot! ์ด๋ผ๊ณ ์์ ๋์!
LetsEncrypt ๋ก ๋ฐ๋ก๊ฐ๊ธฐ
Let's Encrypt - ๋ฌด๋ฃ SSL/TLS ์ธ์ฆ์
letsencrypt.org
์ ์์ธ์ค ๊ถํ์ aws ec2 ์์ ssh ํ๋กํ ์ฝ ์ด์ด๋๊ฒ์ ์๋ฏธ ํ ๋ฏ ํ๋ค.
Certbot
Different Internet services are distinguished by using different TCP port numbers. Unencrypted HTTP normally uses TCP port 80, while encrypted HTTPS normally uses TCP port 443. To use certbot –webroot, certbot –apache, or certbot –nginx, you should h
certbot.eff.org
cerbot ํ์ด์ง๋ก ๊ฐ๋ฉด ์ ํ ๋์ด ์๋ค. ๋๋ aws ec2 ์ธ์คํด์ค๋ ubuntu AMI ์ด๊ณ nginx ์๋ฒ๋ฅผ ๊ตฌ์ถํ ์ํ ์ด๋ฏ๋ก nignx ์ ubuntu 20.04 ๋ฅผ ์ ํ ํ๊ฒ ๋ค.
ssh ๋ ์ฐ๋ฆฌ๊ฐ ์ด๋ฏธ ์ด์ด ๋์๊ณ ,
snapd ๋ผ๋ ํจํค์ง๋ฅผ ์ค์น ํ๋ผ๊ณ ํ๋ค. snap ์ ์ฐ๋ถํฌ์์ ๋์จ ํจํค์ง ๊ด๋ฆฌ์ ์ด๋ค. ๊ธฐ์กด ํจํค์ง ๊ด๋ฆฌ์์๋ ๋ค๋ฅด๊ฒ ์์กด์ฑ ๋ผ์ด๋ธ ๋ฌ๋ฆฌ๋ฅผ ๋ชจ๋ ํจ๊ป ์ค์นํ์ฌ ์ค๋ค.
snap ํ ์คํธ
4๋ฒ์ ๋ค๋ฅธ ํจํค์ง ๊ด๋ฆฌ์๋ก ์ค์นํ ๊ธฐ์กด cerbot์ ์ง์ฐ๋ผ๊ณ ํ๋ค. ๊ทธ๋ฐ๊ฑฐ ์์ผ๋ ๊ฑด๋๋ด๋ค.
7๋ฒ์ ํ๊ธฐ ์ ์ nignx ๋ฅผ ์ ์ ์คํํด๋์. sudo service nginx stop
-email ์ ๋ฌผ์ด๋ณธ๋ค
-์๋น์ค ๋์๋ฅผ ๋ฌผ์ด๋ณธ๋ค -> yes
-letsencrypt ์์ ์ด๋ฉ์ผ ์์ ๋์๋ฅผ ๋ฌผ์ด๋ณธ๋ค -> ๋ no ํ๋ค.
-domain name ์ค์ ์ ๋ฌผ์ด๋ณธ๋ค -> ์์ ์ ๋๋ฉ์ธ์ ์ ๋๋ค.
์ค์น๊ฐ ์๋ฃ ๋ซ์ ๊ฒ์ด๋ค.
- aws ec2 ํด๋น ํธ์คํธ ์์ญ์ ๋ ์ฝ๋ ์ถ๊ฐ ์์ฑ
์ ํ์ CAA ๋ก ํ๊ณ ๊ฐ์ ์๋์ ๊ฐ์ด ๋ฃ์ด์ ๋ง๋ ๋ค. www๋ฅผ ํฌํจํ ๋ ์ฝ๋ ๋ํ ๋ง๋ค์ด ์ค๋ค.
- ์ธ๋ฐ์ด๋ ๊ท์น ์ถ๊ฐ
HTTPS ๊ท์น์ ์ถ๊ฐํด์ค๋ค.
์ด์ ๋๋ฉ์ธ์ ์ ๋ ฅํ๊ณ ๋ค์ด๊ฐ๋ฉด https ๋ก ๋ฆฌ๋ค์ด๋ ํธ ๋๋ฉด์ ์ ๋ ๊ฒ์ด๋ค.
๋ง์ผ ์๋ ์์๋ ๋ฐฉํ๋ฒฝ์ ํ์ธํ์.
Nginx Full, OpenSSH ๋ฅผ allow ํด์ฃผ์.
'Server > basic' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Nginx ์์ (IP to Domain) redirection (0) | 2020.10.06 |
---|---|
AWS ec2 LEMP ์๋ฒ์ phpMyAdmin install (0) | 2020.10.05 |
AWS ec2 ์ธ์คํด์ค mysql ์๊ฒฉ ์ ์ (0) | 2020.10.05 |
AWS - nginx + mysql + php ์๋ฒ ๊ตฌ์ถ (0) | 2020.10.05 |
AWS ec2 ์ธ์คํด์ค ์์ฑ (ubuntu AMI) (0) | 2020.10.04 |