JAN's History
HTTP์ HTTPS์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์? + OpenSSL ๋ณธ๋ฌธ
๐ 1. HTTP๋?
HTTP๋ ์ธํฐ๋ท์์ ์นํ์ด์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ฝ์(ํ๋กํ ์ฝ)์ ๋๋ค.
์๋ฅผ ๋ค์ด:
- ๋๊ฐ ๋ธ๋ผ์ฐ์ ์์ http://naver.com ์ด๋ ๊ฒ ์ ๋ ฅํ๋ฉด
- ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ฒ์ “ํ์ด์ง ์ค~” ๋ผ๊ณ ์์ฒญ
- ์๋ฒ๊ฐ “์, ์ฌ๊ธฐ ์์ด” ํ๋ฉด์ HTML ๋ฌธ์๋ฅผ ๋ณด๋
๊ทธ๋ฅ ๊ทธ๋ ๊ฒ "์์ฒญํ๊ณ ์๋ตํ๋ ๊ตฌ์กฐ"๋ฅผ HTTP ํ๋กํ ์ฝ์ด๋ผ๊ณ ๋ถ๋ฌ์.
2. HTTP์ ๋ฌธ์ ์
HTTP๋ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ง ์๊ณ ๊ทธ๋ฅ ํ๋ฌธ์ผ๋ก ์ค๊ณ ๊ฐ์
๋๊ฐ ์ค๊ฐ์์ ์ฟ๋ณด๋ฉด:
- ๋ก๊ทธ์ธ ์์ด๋, ๋น๋ฐ๋ฒํธ
- ์นด๋ ์ ๋ณด
- ๊ฐ์ธ์ ๋ณด
๋ค ๋ณด์ผ ์ ์์ต๋๋ค… ๐จ
3. HTTP์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ๊ฒ์ด HTTPS
HTTPS = HTTP + S(Secure) ์ฆ, HTTP์ ๋ณด์(์ํธํ)์ ์ถ๊ฐํ ๊ฒ HTTPS ์ ๋๋ค.
๊ธฐ์กด HTTPS์ S๋ Secure์ด๋ผ๋ ๋ณด์์ ๋ํ๋ด๋ฉฐ ์ํธํ, ๋ณตํธํ ๊ฐ์ ๋ณด์ ์ ์ฐจ๋ฅผ ๊ฑฐ์น ํ ์์ฒญํฉ๋๋ค.
์ด๋ ๊ฒ ์ ์ก๋๋ ๋ฐ์ดํฐ๋ ์ค๊ฐ์์ ๋๊ตฐ๊ฐ ํ์ณ๋ธ๋ค๊ณ ํ๋๋ผ๋ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ด ์์ด์ ํด๋ ํ ์ ์์ต๋๋ค.
- ๋๊ตฐ๊ฐ ์ฟ๋ณด๋๋ผ๋ ์ ๋ณด๋ฅผ ํด๋ ํ ์ ์๋๋ก ์ํธํ
- ์ ๋ณด๊ฐ ๋ฐ๋์ง ์์๋ค๋ ๊ฑธ ๋ณด์ฅํ๋ ์ ๋ขฐ์ฑ
- ๋ธ๋ผ์ฐ์ ์ ๐ ์๋ฌผ์ ์์ด์ฝ๋ ๋จ๋ ์ด์ !
๊ทธ๋ผ HTTPS๋ ์ด๋ป๊ฒ ์ํธํํ ๊น?
์ฌ๊ธฐ์ ๋ฐ๋ก ๋ฑ์ฅํ๋ ๊ฒ ๐ OpenSSL!
4. OpenSSL์ ์ญํ
OpenSSL์ HTTPS ์ํธํ์ ํ์ํ ์ด์ (์ธ์ฆ์)๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋๊ตฌ์
๋๋ค.
์ฆ, HTTPS๋ฅผ ์ฐ๊ธฐ ์ํด์ ์ธ์ฆ์(.crt) + ๋น๋ฐํค(.key)๊ฐ ํ์ํ๋ฐ์.
openssl req -x509 ...
์ด๋ฐ ๋ช ๋ น์ด๋ก ๋ก์ปฌ ๊ฐ๋ฐ์ฉ HTTPS ์ธ์ฆ์๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค.
5. ์ํคํ ์ฒ์์ HTTP์ HTTPS์ ํต์ ๋ฐฉ๋ฒ
๋ธ๋ผ์ฐ์ → ์น์๋ฒ → WAS → DB ํํ๋ก ์น ์ํคํ ์ฒ๊ฐ ๊ตฌ์ฑ์ด ๋๋๋ฐ์
์ด ๊ณผ์ ์ ์์ธํ ๋ค์ฌ๋ค๋ณด๋ฉด,
[ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )]
โ
HTTPS
[Nginx (์น ์๋ฒ)]
โ
HTTP
[WAS (Web Application Server)]
โ
[DB ์๋ฒ]
๋๋๋ค
+ ๐ ์ถ๊ฐ ์ดํด ํฌ์ธํธ
1. ํด๋ผ์ด์ธํธ ↔ Nginx: HTTPS
- Nginx๊ฐ SSL ์ธ์ฆ์๋ฅผ ๊ฐ์ง๊ณ ์์ด์ HTTPS ํต์ ๊ฐ๋ฅ
- ๋ธ๋ผ์ฐ์ ๋ ์์ ํ๊ฒ ์ํธํ๋ ํต์ ์ ์ฒ๋ฆฌํจ
2. Nginx ↔ WAS: HTTP
- ๋ ๋ค ๊ฐ์ ์๋ฒ์ด๊ฑฐ๋, ๋ด๋ถ ๋คํธ์ํฌ์ ์์ด์ ์ํธํ ํ์ ์์
- ๋ณดํต localhost:3000, http://backend:4000 ์ด๋ฐ ์์ผ๋ก ํต์
3. WAS๋ ๋์ ๋ก์ง ๋ด๋น
- ๋ก๊ทธ์ธ, ๊ฒ์๋ฌผ ์์ฑ, DB ์ฒ๋ฆฌ ๋ฑ์ ์ ๋ถ ์ฌ๊ธฐ์ ์คํ
- ๊ฒฐ๊ณผ(JSON, HTML ๋ฑ)๋ฅผ Nginx๋ก ๋๊ฒจ์ค
4. Nginx๋ ์ ์ ํ์ผ + HTTPS ๊ฒ์ดํธ์จ์ด ์ญํ
- ์ด๋ฏธ์ง, CSS, JS๋ ์์ฒด ์ฒ๋ฆฌ
- ๋๋จธ์ง API๋ HTML ์๋ต์ WAS์ ์์ฒญ → ๋ฐ์์ ์ ๋ฌ
'๊ฐ๋ฐ์ฉ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์์ build, ๋ฒ๋ค๋ฌ, ๊ทธ๋ฆฌ๊ณ ๋ฐฐํฌ์ ๋ชจ๋ ๊ฒ (0) | 2025.04.09 |
---|---|
์น ์๋ฒ vs WAS ์กฐํฉ์ ์ฐ๋ ์ง์ง ์ด์ ๋ค (1) | 2025.03.29 |
์น ๊ฐ๋ฐ ๋ฐฐํฌ ๋ฐ ์ํคํ ์ฒ ๊ตฌ์กฐ ์ด์ ๋ฆฌโญ (0) | 2025.03.26 |
RAG๋? Retrieval-Augmented Generation ์ฝ๊ฒ ์ดํดํ๊ธฐ (1) | 2025.03.22 |
MSA๋? ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ์ฝ๊ฒ ์ดํดํ๊ธฐ (0) | 2025.03.20 |