๐๐ปโโ๏ธ ์๋ก
- 1990๋ ์น์ด ์ฒ์ ๋์ค๊ฒ ๋์์ ๋, ์น์ ํฌ๊ฒ 4๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์์๋ค. (HTML, URL, Web browser, HTTP)
- ์ฒ์ ๋ฑ์ฅํ HTTP๋ ๋งค์ฐ ๋จ์ํ ํต์ ๊ท์น์ด์์ง๋ง, ์น์ด ํญ๋ฐ์ ์ผ๋ก ์ฑ์ฅํ๋ฉฐ HTTP๋ง์ ๊ธฐ๋ฅ์ผ๋ก๋ ์ฑ๋ฅ, ๋ณด์, ์์ ์ฑ์ ํ๋ณดํ๋ ๊ฒ์ด ์ ์ ์ด๋ ค์์ ธ HTTP๋ ํ๋ถํ ๊ธฐ๋ฅ์ ๊ฐ์ง ํ๋กํ ์ฝ๋ก ๋ฐ์ ํ๊ธฐ ์์ํ๋ค.
ํ๋กํ ์ฝ ์ด๋โ
- ํ๋กํ ์ฝ์ ๊ท์น(์ฝ์)์ด๋ ์๋ฏธ์ด๋ค.
- ๊ท์ฝ์ด ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ์ด ๊ท์ฝ์ ๋ง์ถฐ ๊ฐ๋ฐํ์ฌ ์๋ก ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๊ฒ ํด์ค๋ค.
- ์ปดํจํฐ ๋คํธ์ํฌ(๊ด๊ณ๋ง)์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋, ์ด๋ฌํ ๊ท์น์ ๋ง์ถฐ ๊ฐ๋ฐํจ์ผ๋ก์จ ์๋ก ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋ค.
- ์น ๋ฌธ์๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋๋ HTTP๋ฅผ ์ฌ์ฉํด์ผํ๊ณ ํ์ผ์ ์ฃผ๊ณ ๋ฐ์ ๋๋ FTP, ๋ฉ์ผ์ SMTP, POP ๋ฑ ์ ์ก ๊ณ์ธต๊ณผ ์ ํ์ ๋ฐ๋ผ ๋ค์ํ๊ฒ ๋ง๋ค์ด์ ธ์๋ค.
์ฌ์ฉ์๊ฐ ๋ธ๋ฌ์ฐ์ ๋ฅผ ํตํด ์๋น์ค์ URL์ ํตํ๊ฑฐ๋, ๋ค๋ฅธ ๊ฒ์ ํตํ์ฌ ์์ฒญ(Requst)ํ๋ฉด, ์๋ฒ์์๋ ํด๋น ์์ฒญ์ฌํญ์ ๋ง๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์ ์ฌ์ฉ์์๊ฒ ์๋ต(Response)ํ๋ ํํ๋ก ๋์ํ๋ค.
HTML๋ง HTTP ํต์ ์ ํ๊ธฐ ์ํ ๋ฌธ์๋ ์๋๋ค. ( JSON์ด๋, XML๊ณผ ๊ฐ์ ํํ์ ์ ๋ณด๋ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค.)
TCP/IP๋โ
์ปดํจํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋๋ก ํ๋ ์ฅ์น๋ก ์ํ๋ ์ ๋ณด(๋ฐ์ดํฐ)๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ ์์ฉ ํ๋กํ ์ฝ
๋ณด์
์ด ์ถ๊ฐ ๋์ด์๋ค.
SSL์ด๋โ
๋ณด์ ์์ผ ๊ณ์ธต(Secure Sockets Layer, SSL) ์ธ์ฆ์๋ ์ข ์ข ๋์งํธ ์ธ์ฆ์๋ก ๋ถ๋ฆฌ๋ฉฐ, ๋ธ๋ผ์ฐ์ (์ฌ์ฉ์์ ์ปดํจํฐ)์ ์๋ฒ(์น์ฌ์ดํธ) ์ฌ์ด์ ์ํธํ๋ ์ฐ๊ฒฐ์ ์๋ฆฝํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
๊ณต๊ฐํค ์ํธํ ๋ฐฉ์์ด๋โ
๋์นญํค ์ํธํ ๋ฐฉ์์ด๋โ
- ๋์ผํ ํค๋ก ์ํธํ, ๋ณตํธํ๊ฐ ๊ฐ๋ฅํ๋ค.
- ๋์นญํค๋ ๋งค๋ฒ ๋๋ค์ผ๋ก ์์ฑ๋์ด ์ ์ถ๋์ด๋ ๋ค์ ์ฌ์ฉ์์๋ ๋ค๋ฅธ ํค๊ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ ์์ ํ๋ค.
- ๊ณต๊ฐํค ๋ณด๋ค ๋น ๋ฅธ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
๋ณตํธํ๋โ
์ํธ๋ฌธ์ ์๋ ๋ฐ์ดํฐ๋ก ๋ณํํ๋ ๊ณผ์
HTTP
HTTPS
apache ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ต๋๋ค.
sudo apt update
sudo apt-get install letsencrypt -y
# Obtain and install a certificate:
certbot
# Obtain a certificate but don't install it:
certbot certonly
# You may specify multiple domains with -d and obtain and
# install different certificates by running Certbot multiple times:
certbot certonly -d example.com -d www.example.com
certbot certonly -d app.example.com -d api.example.com
80ํฌํธ๋ฅผ ์ด๊ณ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ ๋ฐ์์ผ ํ๋ค.
๋ฐ๊ธ ๋ฐ์ ์ธ์ฆ์๋/etc/letsencrypt/live/
์ ์ ์ฅ๋๋ค.์ธ์ฆ์ ํ์ธํ๊ธฐ
certbot certificates
์ธ์ฆ์ ์ญ์ ํ๊ธฐ
certbot delete
์ธ์ฆ์ ๊ฐฑ์ ํ๊ธฐ
certbot renew
// ๊ธฐ์กด
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot "var/www/html/"
</VirtualHost>
// ์์
<VirtualHost *:80>
ServerName www.example.com
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.example.com%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot "/var/www/html/"
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem
</VirtualHost>
๊ธฐ์กด์ ์ด๋ ค์๋ ์๋ฒ์ conf๋ฅผ ์์ ํด์ผํ๋ค.
์์ ๋ด์ฉ์ ์๋RewriteEngine
๋ ํฌํธ 80์ผ๋ก ์ ๊ทผํ๋ request๋ฅผ 443ํฌํธ(HTTPS)๋ก ๋ฐ๊ฟ์ค๋ค.
์๋ ํ์ธ์, ์ ๋ก๋ฒ ์ด์ค ํ๋ก ํธ์๋์ค์ฟจ ๋ฉํ ์ ๋๋ค. ์์ฑํด์ฃผ์ ๊ธ ์ ์ฝ์๊ณ , ์์ผ๋ก์ ๋ ๋์ ๋ธ๋ก๊น ์ ์์ํ๋ ๋ง์์์ ์์ ์๊ฒฌ์ ๋จ๊ธฐ๊ณ ๊ฐ๋๋ค :)
๊ฐ์ฌํฉ๋๋ค!