HTTP, HTTPS
๐ HTTP Server Guide
1๏ธโฃ HTTP๋?
HTTP(HyperText Transfer Protocol) ๋ ์น ๋ธ๋ผ์ฐ์ ์ ์น ์๋ฒ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ํ๋กํ ์ฝ์
๋๋ค.
์ธํฐ๋ท์์ ์น ํ์ด์ง๋ฅผ ์์ฒญํ๊ณ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
โ HTTP ํน์ง
- ํ ์คํธ, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ๋ฐ์ดํฐ ์ ์ก ๊ฐ๋ฅ
- ์ํ๋ฅผ ์ ์งํ์ง ์๋(stateless) ํ๋กํ ์ฝ
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์์ด ์์ผ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์ก
2๏ธโฃ HTTP ์๋ฒ ๊ตฌ์ถ (Apache ๊ธฐ์ค)
๐ 1. Apache ์น ์๋ฒ ์ค์น (Ubuntu ๊ธฐ์ค)
sudo apt update
sudo apt install apache2 -y
๐ 2. ์๋น์ค ์์ ๋ฐ ์๋ ์คํ ์ค์
sudo systemctl start apache2
sudo systemctl enable apache2
๐ 3. ๋ฐฉํ๋ฒฝ ์ค์ (UFW ์ฌ์ฉ)
sudo ufw allow 80/tcp
sudo ufw enable
๐ 4. ์น ํ์ด์ง ๋ฐฐํฌ
Apache ๊ธฐ๋ณธ ๋ฌธ์ ๋ฃจํธ: /var/www/html
๊ธฐ๋ณธ ํ์ด์ง ์์ :
sudo nano /var/www/html/index.html
<!DOCTYPE html>
<html>
<head>
<title>My HTTP Server</title>
</head>
<body>
<h1>Welcome to My HTTP Server!</h1>
</body>
</html>
๐ 5. ์๋ฒ ํ์ธ
์น ๋ธ๋ผ์ฐ์ ์์ http://์๋ฒ_IP
์
๋ ฅํ์ฌ ํ์ด์ง ํ์ธ
๐ HTTPS Server Guide
1๏ธโฃ HTTPS๋?
HTTPS(HyperText Transfer Protocol Secure) ๋ HTTP์ TLS(SSL) ์ํธํ๊ฐ ์ถ๊ฐ๋ ๋ณด์ ํ๋กํ ์ฝ์
๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์์ ํ ํต์ ์ ๋ณด์ฅํฉ๋๋ค.
โ HTTPS ํน์ง
- ๋ฐ์ดํฐ ์ํธํ (TLS/SSL ์ฌ์ฉ)
- ์ฌ์ฉ์ ์ ๋ณด ๋ณดํธ (MITM ๊ณต๊ฒฉ ๋ฐฉ์ง)
- ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์ ํ์
2๏ธโฃ HTTPS ์๋ฒ ๊ตฌ์ถ (Let’s Encrypt ์ธ์ฆ์ ์ฌ์ฉ)
๐ 1. Certbot ์ค์น
sudo apt install certbot python3-certbot-apache -y
๐ 2. HTTPS ์ธ์ฆ์ ๋ฐ๊ธ
sudo certbot --apache -d example.com -d www.example.com
๐น example.com
์ ์ค์ ๋๋ฉ์ธ์ผ๋ก ๋ณ๊ฒฝ
๐น ์ธ์ฆ ๊ณผ์ ์์ ์ด๋ฉ์ผ ๋ฐ ์ฝ๊ด ๋์ ํ์
๐ 3. HTTPS ์๋ ๊ฐฑ์ ์ค์
sudo systemctl enable certbot.timer
๐ 4. ๋ฐฉํ๋ฒฝ ์ค์ (HTTPS ํ์ฉ)
sudo ufw allow 443/tcp
sudo ufw reload
3๏ธโฃ HTTP โ HTTPS ๋ฆฌ๋๋ ์ ์ค์
Apache ์ค์ ํ์ผ ์์ (/etc/apache2/sites-available/000-default.conf
)
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
sudo systemctl restart apache2
๐ ๊ฒฐ๋ก
HTTP๋ ์น ํต์ ์ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ด๋ฉฐ, HTTPS๋ฅผ ํตํด ๋ณด์์ ๊ฐํํ ์ ์์ต๋๋ค.
Let’s Encrypt ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌด๋ฃ๋ก HTTPS๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค. ๐
๐ ์ฐธ๊ณ ์๋ฃ
1๏ธโฃ Apache ๊ณต์ ๋ฌธ์
2๏ธโฃ Let’s Encrypt & Certbot ๊ฐ์ด๋