HTTP, HTTPS

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 ๊ฐ€์ด๋“œ

RSS Feed
๋งˆ์ง€๋ง‰ ์ˆ˜์ •์ผ์ž