DevOps/AWS

์„œ๋ฒ„์— HTTPS ์š”์ฒญ ๋ณด๋‚ด๊ธฐ 1ํŽธ - (feat. Mixed Content ์—๋Ÿฌ ํ•ด๊ฒฐ)

ํ”„๋กœ๊ทธ๋ž˜๋จธ ์˜ค์›” 2023. 12. 8.

๊ฐœ์š”

์ตœ์ข…์ ์œผ๋กœ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ์˜ ์ž‘์—…์ด ๋๋‚˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ณด๊ธฐ ์œ„ํ•ด, Vercel์— ๋ฐฐํฌ๋œ ์›น ํŽ˜์ด์ง€์—์„œ  ํ…Œ์ŠคํŠธ ์„œ๋ฒ„ EC2 ์ธ์Šคํ„ด์Šค API ์š”์ฒญ์„ ๋ณด๋ƒˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฐ๋™ํ•˜์ž๋งˆ์ž ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 

 

Mixed Content ๋ž€?

Mixed Content ์—๋Ÿฌ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ HTTPS๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋˜๋ฉด์„œ, HTTP๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋˜๋Š” ๋ฆฌ์†Œ์Šค(์˜ˆ: ์ด๋ฏธ์ง€, ์Šคํฌ๋ฆฝํŠธ, ์Šคํƒ€์ผ์‹œํŠธ ๋“ฑ)๋ฅผ ํฌํ•จํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ๋ณด์•ˆ ์œ„ํ—˜์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋Œ€๋ถ€๋ถ„์˜ ํ˜„๋Œ€ ๋ธŒ๋ผ์šฐ์ €๋Š” Mixed Content๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฐจ๋‹จํ•œ๋‹ค.

Mixed Content์˜ ์ข…๋ฅ˜

  1. Passive Mixed Content (Display Mixed Content)
    • ํŽ˜์ด์ง€๊ฐ€ ์—ฌ์ „ํžˆ HTTPS๋กœ ๋กœ๋“œ๋˜์ง€๋งŒ, HTTP๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋œ ๋ฆฌ์†Œ์Šค(์ด๋ฏธ์ง€, ๋น„๋””์˜ค ๋“ฑ)๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ.
    • ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์œ„ํ˜‘ํ•˜์ง€ ์•Š์ง€๋งŒ, ๊ณต๊ฒฉ์ž๊ฐ€ HTTP๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด ์‹ ๋ขฐ์„ฑ์ด ๋–จ์–ด์ง.
    • ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ ๊ฒฝ๊ณ  ์ •๋„๋กœ๋งŒ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜, ์ผ๋ถ€ ๊ฒฝ์šฐ์— ์ฐจ๋‹จ.
  2. Active Mixed Content (Block Mixed Content)
    • ํŽ˜์ด์ง€๊ฐ€ ์—ฌ์ „ํžˆ HTTPS๋กœ ๋กœ๋“œ๋˜์ง€๋งŒ, HTTP๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋œ ๋ฆฌ์†Œ์Šค(์Šคํฌ๋ฆฝํŠธ, ์Šคํƒ€์ผ์‹œํŠธ, AJAX ์š”์ฒญ ๋“ฑ)๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ์šฐ.
    • ๋ณด์•ˆ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋ฉฐ, ๊ณต๊ฒฉ์ž๊ฐ€ ์•…์„ฑ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ์–ด ๋งค์šฐ ์œ„ํ—˜.
    • ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ ์ฐจ๋‹จํ•˜์—ฌ ํŽ˜์ด์ง€์˜ ๋กœ๋”ฉ์„ ๋ง‰์Œ.

 

์›์ธ

ํ”„๋ก ํŠธ์—”๋“œ ๋กœ์ปฌ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ EC2 ํ…Œ์ŠคํŠธ ์„œ๋ฒ„์— ์—ฐ๋™ํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•  ๋•Œ๋Š” HTTP ํ†ต์‹ ์œผ๋กœ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ–ˆ์œผ๋ฏ€๋กœ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ Vercel์— ๋ฐฐํฌํ•œ ํ›„์—๋Š” ์ด๋Ÿฌํ•œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด์œ ๋Š” ๋กœ์ปฌ์—์„œ๋Š” HTTP ํ†ต์‹ ์„ ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, ๋ฐฐํฌ๋œ Vercel ํŽ˜์ด์ง€์—์„œ๋Š” HTTPS ํ†ต์‹ ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. API ์š”์ฒญ์ด HTTP๋กœ ์ด๋ฃจ์–ด์ง€๋ฉด์„œ Active Mixed Content๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ณด์•ˆ์„ ์œ„ํ•ด Mixed Content ์—๋Ÿฌ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ํŽ˜์ด์ง€ ๋กœ๋”ฉ์„ ์ฐจ๋‹จํ–ˆ๋‹ค.

 

์„œ๋ฒ„๋Š” ์ด์   HTTP ํ†ต์‹ ์ด ์•„๋‹Œ, HTTPS ํ†ต์‹ ์œผ๋กœ API ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. HTTP๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์ง€ ์•Š๊ณ  ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ „์†ก ์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ3์ž๊ฐ€ ์‰ฝ๊ฒŒ ์ฝ๊ฑฐ๋‚˜ ๋ณ€์กฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด HTTPS๊ฐ€ ๋‚˜์™”๋‹ค. HTTPS๋Š” SSL(Secure Sockets Layer) / TLS(Transport Layer Security) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ ์ „์†ก ์ค‘์— ์ œ3์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ๋ณ€์กฐํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

 

ํ•ด๊ฒฐ๋ฒ• 

๋ฐฑ์—”๋“œ API ์„œ๋ฒ„์— ์ง์ ‘ HTTPS ํ†ต์‹ ์— ๊ด€ํ•œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š๊ณ , SSL Termination ์ด๋ผ๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

์˜คํ”„๋กœ๋”ฉ(Offloading)์€ ์‹œ์Šคํ…œ์˜ ํŠน์ • ์ž‘์—…์ด๋‚˜ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ, ์žฅ์น˜ ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋กœ ์ด์ „ํ•˜์—ฌ ๋ฉ”์ธ ์‹œ์Šคํ…œ์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์˜ ๊ณตํ†ต๋œ ์•ž๋‹จ์˜ ํ•œ ๊ณณ์—์„œ SSL ๊ด€๋ จ ์ฒ˜๋ฆฌ๋ฅผ  ๋ชจ๋‘ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. SSL Termination์€ SSL Offloading์˜ ํ•œ ํ˜•ํƒœ๋กœ, SSL/TLS ์—ฐ๊ฒฐ์ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋‚˜ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์™€ ๊ฐ™์€ ์ค‘๊ฐ„ ์žฅ์น˜์—์„œ ์ข…๋ฃŒ๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ, ์•”ํ˜ธํ™”๋œ ํŠธ๋ž˜ํ”ฝ์€ ์ค‘๊ฐ„ ์žฅ์น˜์—์„œ ๋ณตํ˜ธํ™”๋˜๊ณ , ๋ณตํ˜ธํ™”๋œ ํŠธ๋ž˜ํ”ฝ์€ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋œ๋‹ค.

์ฆ‰, SSL Termination์€ ์ฃผ๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋˜๋Š” ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ SSL/TLS ์•”ํ˜ธํ™”๋ฅผ ํ•ด์ œ(terminate)ํ•˜๊ณ , ๋ฐฑ์—”๋“œ ์„œ๋ฒ„(์˜ˆ: EC2 ์ธ์Šคํ„ด์Šค)์™€๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ํ‰๋ฌธ HTTP๋กœ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. SSL Termination์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์ด ์žˆ๋‹ค.

1. ์„ฑ๋Šฅ ํ–ฅ์ƒ: SSL/TLS ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋Š” CPU ์ง‘์•ฝ์ ์ธ ์ž‘์—…์ด๋‹ค. SSL Termination์„ ์‚ฌ์šฉํ•˜๋ฉด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋˜๋Š” ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ ์ด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ, EC2 ์ธ์Šคํ„ด์Šค์˜ CPU ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

2. ๋‹จ์ˆœํ•œ ์ธ์ฆ์„œ ๊ด€๋ฆฌ: SSL ์ธ์ฆ์„œ๋ฅผ ํ•œ ๊ณณ(๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋˜๋Š” ํ”„๋ก์‹œ ์„œ๋ฒ„)์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ธ์ฆ์„œ ๊ฐฑ์‹ , ๋ฐฐํฌ, ์„ค์ • ๋“ฑ์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ์‰ฝ๋‹ค. ๋ชจ๋“  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์—์„œ ์ธ์ฆ์„œ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค.

 

 

SSL Termination ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์œ„์—์„œ ๋งํ–ˆ๋“ฏ์ด 2๊ฐ€์ง€๊ฐ€ ๋Œ€ํ‘œ์ ์ด๋‹ค.

1. ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„ ํ™œ์šฉ : ์•„ํŒŒ์น˜ ํ˜น์€ NGINX ๋ฅผ ๊ตฌ๋™์‹œ์ผœ ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์–ด  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ์š”์ฒญ์ด ์˜ค๋ฉด ๋จผ์ € ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค. ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์—๋Š” Let's Encrypt ๊ฐ™์€

TLS/SSL ์ธ์ฆ์„œ๋ฅผ ์‰ฝ๊ฒŒ ๊ฐ€์ ธ์˜ค๊ณ  ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” CA(์ธ์ฆ ๊ธฐ๊ด€)์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธ์ฆ์„œ๋ฅผ ์„ค์ •ํ•˜์—ฌ SSL Termination์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„์—์„œ HTTP ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด HTTPS ์š”์ฒญ์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚ค๊ณ , HTTPS ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด SSL Termination ํ•œ ํ›„ ํ‰๋ฌธ ์š”์ฒญ์„ Path ๋งž๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ํฌ์›Œ๋”ฉ ํ•ด์ฃผ๊ฒŒ ๋œ๋‹ค.

2. ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ํ™œ์šฉ : ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ์•ž์— ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋‘์–ด ํŠธ๋ž˜ํ”ฝ์„ ๋จผ์ € ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ๋ฐ›๊ฒŒ ๋œ๋‹ค.  ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„ ์™€ ๊ฐ™์ด HTTP๋กœ ์˜จ ์š”์ฒญ์€ HTTPS ์š”์ฒญ์œผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚ค๊ณ , ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์—์„œ SSL Termination ํ•œ ํ›„ ํ‰๋ฌธ ์š”์ฒญ์„ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. AWS๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋˜๋ฉด ACM์„ ํ†ตํ•ด ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ , ALB(Application Load Balancer = ELB) ์— ์ธ์ฆ์„œ๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด SSL Termination์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ๋„๋ฉ”์ธ์ด ์žˆ์–ด์•ผํ•œ๋‹ค. SSL/TLS ์ธ์ฆ์„œ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐœ๊ธ‰๋˜๋ฉฐ, ์ด ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์˜ ์‹ ์›์„ ํ™•์ธํ•˜๊ณ  ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ธ์ฆ ๊ธฐ๊ด€(Certificate Authority, CA)์€ ๋„๋ฉ”์ธ์˜ ์†Œ์œ ๊ถŒ์„ ํ™•์ธํ•˜๊ณ  ํ•ด๋‹น ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ๋‹ค.

 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” AWS ๋กœ ์ฒ˜์Œ ๋ฐฐํฌ ํ•˜๊ธฐ๋„ ํ•ด์„œ ACM ์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ•˜์—ฌ  ALB(Application Load Balancer) ๋ฅผ ํ†ตํ•ด ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— HTTPS ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋ณด์•˜๋‹ค. ๊ฐ„๋žตํ•˜๊ฒŒ ๋จผ์ € ์„ค๋ช…ํ•˜์ž๋ฉด,

AWS Route53 ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ํ˜ธ์ŠคํŒ… ์˜์—ญ ๋“ฑ๋กํ•˜๊ณ , DNS ์„ค์ •์„ ํ†ตํ•ด ์„œ๋ฒ„์™€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ๊ด€๋ จํ•œ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค. AWS์—์„œ๋Š” ACM(AWS Certificate Manager)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด๋ฃŒ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ๋ฅผ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ์„ค์ •ํ•˜์—ฌ SSL Termination์„ ๊ตฌ์„ฑํ•œ๋‹ค.

๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„  ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ™œ์šฉํ•˜์—ฌ SSL Termination ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ–ˆ๋‹ค.

 

AWS Route 53

๋จผ์ € ํ•„์š”ํ•œ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ•œ๋‹ค.

๋„๋ฉ”์ธ์€ AWS ์˜ Route 53 ์„œ๋น„์Šค๋กœ ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•ด๋„ ๋˜์ง€๋งŒ, ๋น„๊ต์  ๊ฐ’์ด ์‹ผ ๊ฐ€๋น„์•„์—์„œ ์‚ฌ๋Š” ๊ฑธ ์ถ”์ฒœํ•œ๋‹ค.

.shop  ๋˜๋Š” .store ๊ฐ™์€ ๊ฒฝ์šฐ 550์›์ด๋ฉด ๋„๋ฉ”์ธ ๋“ฑ๋ก ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•„์ž ๋˜ํ•œ .store ๋กœ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ–ˆ๋‹ค.

(์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„  ๊ฐ€๋น„์•„๋กœ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ•ด๋ณด๊ณ , ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” AWS Route53 ์œผ๋กœ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ–ˆ๋‹ค. ์ข€ ๊ดœ์ฐฎ์€ ๋„๋ฉ”์ธ์€ 18000์› ์ •๋„ ํ•œ๋‹ค. ํ™˜์œจ์ด,,,,,,๐Ÿ˜จ)

 

๊ตฌ์ž…ํ•˜๊ฑฐ๋‚˜ ๋ฌด๋ฃŒ๋กœ ์–ป์€ ๋„๋ฉ”์ธ์€ ๋“ฑ๋ก์ด ํ•„์š”ํ•˜๋‹ค.

AWS์—์„œ Route 53์— ์ ‘์†ํ•˜์—ฌ ํ˜ธ์ŠคํŒ… ์˜์—ญ ์ƒ์„ฑ์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

 

์„ธ๋ฒˆ์งธ๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ๋‚˜์˜ ๋„๋ฉ”์ธ์ด๋‹ค.

 

 

 

๋ณธ์ธ์ด ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜ ์–ป์€ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด์ค€๋‹ค.(EX:  example.store , example.com)

๋‹ค๋ฅธ ์„ค์ •์€ ๊ฑด๋“ค์ด์ง€ ์•Š๊ณ  ์œ ํ˜• ๋˜ํ•œ ํผ๋ธ”๋ฆญ ํ˜ธ์ŠคํŒ… ์˜์—ญ์œผ๋กœ

ํ˜ธ์ŠคํŒ… ์˜์—ญ ์ƒ์„ฑ์„ ํด๋ฆญํ•˜์—ฌ ํ˜ธ์ŠคํŒ… ์˜์—ญ์„ ์ƒ์„ฑํ•œ๋‹ค.

 

 

์ƒ์„ฑ๋œ ํ˜ธ์ŠคํŒ… ์˜์—ญ ์ด๋ฆ„์„ ํด๋ฆญํ•ด์„œ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ•„์ž๋Š” ๋‹ค ์„ค์ • ํ•ด๋‘” ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ๋‚˜์˜ค์ง€๋งŒ ์ฒ˜์Œ์ธ ์‚ฌ๋žŒ์€ NS ๋ ˆ์ฝ”๋“œ์™€ SOA ๋ ˆ์ฝ”๋“œ 2๊ฐœ ์ •๋„ ๊ธฐ๋ณธ์œผ๋กœ ์ƒ๊ธด๋‹ค.

1. A ๋ ˆ์ฝ”๋“œ (Address Record)
์—ญํ• : A ๋ ˆ์ฝ”๋“œ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์„ IPv4 ์ฃผ์†Œ์™€ ์—ฐ๊ฒฐํ•œ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ๋„๋ฉ”์ธ์ด ์‹ค์ œ ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜๋˜์–ด ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
2. CNAME ๋ ˆ์ฝ”๋“œ (Canonical Name Record)
์—ญํ• : CNAME ๋ ˆ์ฝ”๋“œ๋Š” ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ์ด๋ฆ„์— ๋ณ„์นญ(alias)์œผ๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค. ์ด๋Š” ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. CNAME ๋ ˆ์ฝ”๋“œ๋Š” ์ตœ์ข…์ ์œผ๋กœ A ๋ ˆ์ฝ”๋“œ๋‚˜ AAAA ๋ ˆ์ฝ”๋“œ๋กœ ํ•ด์„๋‹ค. ( EX: www.example.com. IN CNAME example.com. )
3. NS ๋ ˆ์ฝ”๋“œ (Name Server Record)
์—ญํ• : NS ๋ ˆ์ฝ”๋“œ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์˜ ๋„ค์ž„์„œ๋ฒ„๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋„ค์ž„์„œ๋ฒ„๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์˜ DNS ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , DNS ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋„๋ฉ”์ธ์˜ NS ๋ ˆ์ฝ”๋“œ๋Š” ํ•ด๋‹น ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ๋ชจ๋“  DNS ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋„ค์ž„์„œ๋ฒ„๋ฅผ ์ง€์ •ํ•œ๋‹ค.
4. SOA ๋ ˆ์ฝ”๋“œ (Start of Authority Record)
์—ญํ• : SOA ๋ ˆ์ฝ”๋“œ๋Š” ๋„๋ฉ”์ธ์˜ DNS ์˜์—ญ(zone)์— ๋Œ€ํ•œ ์ฃผ์š” ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค. ์ด๋Š” ํ•ด๋‹น DNS ์˜์—ญ์˜ ์‹œ์ž‘์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์˜์—ญ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ •๋ณด์™€ ๊ด€๋ฆฌ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค. SOA ๋ ˆ์ฝ”๋“œ๋Š” ๋„๋ฉ”์ธ์˜ ๋„ค์ž„์„œ๋ฒ„, ๊ด€๋ฆฌ์ž ์ด๋ฉ”์ผ, ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ, ๊ฐฑ์‹  ์ฃผ๊ธฐ ๋“ฑ์„ ํฌํ•จํ•œ๋‹ค.

 

 

๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ์„ ํด๋ฆญํ•ด์ค€๋‹ค.

๋จผ์ € A๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ๊ฒƒ์ด๋‹ค.

 

 

 

๋‹ค๋ฅธ ๊ฒƒ๋“ค์€ ๊ฑด๋“ค์ด์ง€ ์•Š๊ณ  ๊ฐ’์— ๋ณธ์ธ์˜ ์„œ๋ฒ„์ธ EC2์˜ ํผ๋ธ”๋ฆญ IP ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทธ ํ›„์— ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

 

 

 

 

ํ•ด๋‹น ๋ชฉ๋ก์˜ NS ์œ ํ˜•์„ ๋ณด๋ฉด 4๊ฐœ์˜ ์ฃผ์†Œ๊ฐ€ ๋‚˜์™€์žˆ๋‹ค.
์ € ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ๊ฐ€๋น„์•„์—์„œ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ–ˆ์œผ๋‹ˆ ๊ฐ€๋น„์•„ ํ™ˆํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ€์„œ ํ•ด๋‹น ๋„๋ฉ”์ธ์— 4๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด์ค€๋‹ค. (AWS Route53 ์—์„œ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ•ด ํ˜ธ์ŠคํŒ… ์˜์—ญ์„ ๋“ฑ๋กํ•œ ๊ฒฝ์šฐ๋Š” ์ด ๊ณผ์ •์„ ์•ˆํ•ด์ค˜๋„ ๋œ๋‹ค.)

๊ฐ€๋น„์•„ ํ™ˆํŽ˜์ด์ง€์—์„œ My ๊ฐ€๋น„์•„ -> ๋ณธ์ธ์ด ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์˜ ๊ด€๋ฆฌ๋ฒ„ํŠผ -> ๋„ค์ž„์„œ๋ฒ„ ์„ค์ • ๋ฒ„ํŠผ -> 1์ฐจ ~ 4์ฐจ๊นŒ์ง€ ์œ„์˜ 4๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋œ๋‹ค. ์ด๋•Œ ๋งˆ์ง€๋ง‰ ๋ฃจํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”  .  ์€ ์ง€์šฐ๊ณ  ํ•ด์ค˜์•ผ ์ ํžŒ๋‹ค.

( net.    ,    com. ์ด ์•„๋‹ˆ๋ผ net  ,   com)

 

 

 

 

 

 

 

AWS Certificate Manager

AWS Certificate Manager ํ†ตํ•ด SSL/TLS ์ธ์ฆ์„œ๋ฅผ ์†์‰ฝ๊ฒŒ ๊ด€๋ฆฌ ๋ฐฐํฌ ๋ฐ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค.

AWS ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์ธ AWS Certificate Manager๋ฅผ ํด๋ฆญํ•œ๋‹ค. 

 

 

 

 

 

 

 

 

๋”ฐ๋กœ ๊ฑด๋“ค๊ฑฐ๋Š” ์—†๊ณ  ๋„๋ฉ”์ธ ์ด๋ฆ„๋งŒ ์ž˜ ์ ์œผ๋ฉด ๋œ๋‹ค. ์ •๊ทœํ™”๋œ ๋„๋ฉ”์ธ์˜ ์ด๋ฆ„์„ ์ ๋Š”๋ฐ, ์ž์‹ ์ด ๊ตฌ๋งคํ•˜๊ฑฐ๋‚˜ ์–ป์€ ๋„๋ฉ”์ธ ๋ช…์„ ์ ์œผ๋ฉด ๋œ๋‹ค. ์ถ”ํ›„์— ๋„๋ฉ”์ธ ์•ž์— ๋‹ค๋ฅธ ํŒจ์Šค๋„ ์ ์–ด์ฃผ๊ธฐ์œ„ํ•ด ํ•„์ž๋Š” ๊ทธ๋ƒฅ ๋„๋ฉ”์ธ๋ช…์„ ์ ์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

*.๋„๋ฉ”์ธ๋ช…

์„ ์ ์–ด์ฃผ์—ˆ๋‹ค.

์•ž์— *์„ ๋ถ™์ด๋ฏ€๋กœ์„œ CNAME ์œผ๋กœ ๋งŒ๋“  ์„œ๋ธŒ ๋„๋ฉ”์ธ๋„ ์ธ์ฆ์„œ ํ†ต๊ณผ๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

 

 

 

ํ•„์ž๋Š” ์ง€๊ธˆ ์ƒํƒœ๊ฐ€ ๋ฐœ๊ธ‰๋จ ์œผ๋กœ ๋˜์–ด ์žˆ๊ฒ ์ง€๋งŒ ์ฒ˜์Œ ํ•œ ์‚ฌ๋žŒ์ด๋ฉด ๊ฒ€์ฆ ๋Œ€๊ธฐ ์ค‘์œผ๋กœ ๋‚˜์˜ค๋Š” ๊ฒƒ์ด ๋งž๋‹ค.

 

์ธ์ฆ์„œ ID ๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋“ค์–ด๊ฐ€์„œ ๋˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ ๋” ์ƒ์„ฑํ•ด์ค˜์•ผํ•œ๋‹ค. (ํ•„์ž๋Š” ์ด ๊ณผ์ •์ด ์ œ๋Œ€๋กœ ์•ˆ ๋ผ์„œ ๊ฒ€์ฆ ๋Œ€๊ธฐ์ค‘๋งŒ ๋ช‡์‹œ๊ฐ„ ์งธ ๋ณด์•˜๋‹ค. ๋ˆ„๊ตฌ๋Š” 10๋ถ„ ๋ˆ„๊ตฌ๋Š” ์ˆ˜๋ถ„ ๋งŒ์— ๋œ๋‹ค๊ณ  ํ•˜๋˜๋ฐ, ์™œ ๊ทธ๋Ÿฐ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ๋„ ๊ณ„์† ํ•ด์„œ ๋๋‹ค. ์™œ ํ•œ๋ฒˆ์— ์•ˆ๋˜๋Š”์ง€ ์ดํ•ด๊ฐ€ ์•ˆ ๊ฐ„๋‹ค...)

 

 

 

 

๊ทธ๋Ÿฌ๋ฉด ๋„๋ฉ”์ธ์„ ํด๋ฆญํ•ด์„œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•„์ž๋Š” ์ด๋ฏธ ์ƒ์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ฆ ์ƒํƒœ๋„ ์„ฑ๊ณต์ด๊ณ  ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ ๋ฒ„ํŠผ๋„ ๋น„ํ™œ์„ฑํ™” ๋์ง€๋งŒ ์ƒˆ๋กœ ํ•˜๋Š” ์‚ฌ๋žŒ์€ ๊ฒ€์ฆ ์ƒํƒœ๊ฐ€ ์„ฑ๊ณต์ด ์•„๋‹ˆ๊ณ  ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ ๋ฒ„ํŠผ๋„ ์ฃผํ™ฉ์ƒ‰์œผ๋กœ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

๋ ˆ์ฝ”๋“œ๊ฐ€ ์ž˜ ์ƒ์„ฑ ๋๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์ž.

 

๋‹ค์‹œ AWS Route53 ์„œ๋น„์Šค๋กœ ๊ฐ„๋‹ค.

 

ํ˜ธ์ŠคํŒ… ์˜์—ญ์— ์ž์‹ ์˜ ๋„๋ฉ”์ธ์—์„œ ๋ ˆ์ฝ”๋“œ์— ์œ„์˜ ํŒŒ๋ž‘์ƒ‰ ๋ ˆ์ฝ”๋“œ ์ด๋ฆ„์œผ๋กœ ์ฃผํ™ฉ์ƒ‰ CNAME ๊ฐ’์ด ์ž˜ ๋“ค์–ด ๊ฐ”๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

์ด ๊ณผ์ •์ด ์ž˜ ๋๋‹ค๋ฉด 10๋ถ„ ๋‚ด์™ธ๋กœ ์ธ์ฆ์„œ์˜ ์ƒํƒœ๊ฐ€ ๊ฒ€์ฆ ๋Œ€๊ธฐ ์ค‘์—์„œ ๋ฐœ๊ธ‰๋จ์œผ๋กœ ๋ฐ”๋€” ๊ฒƒ์ด๋‹ค.

 

 

 

 

 

์ด์   ํ•„์š”ํ•œ ์ค€๋น„๋ฌผ์ธ ๋„๋ฉ”์ธ๊ณผ SSL ์ธ์ฆ์„œ๊ฐ€ ๋๋‚ฌ๋‹ค. HTTPS ์š”์ฒญ์„ ๋ฐ›๊ธฐ ์œ„ํ•œ ๋‹ค์Œ ๋‹จ๊ณ„์ธ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์„ค์ • ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋‹ค์Œ ํฌ์ŠคํŒ…์„ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.

 

https://programmer-may.tistory.com/177

 

EC2์— HTTPS ์š”์ฒญ ๋ณด๋‚ด๊ธฐ 2ํŽธ - ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ( ๋Œ€์ƒ ๊ทธ๋ฃน, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ)

https://programmer-may.tistory.com/176  EC2์— HTTPS ์š”์ฒญ ๋ณด๋‚ด๊ธฐ 1ํŽธ - (feat. Mixed Content ์—๋Ÿฌ)๊ฐœ์š”์ตœ์ข…์ ์œผ๋กœ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ์˜ ์ž‘์—…์ด ๋๋‚˜, Vercel์— ๋ฐฐํฌ๋œ ํ”„๋ก ํŠธ์—”๋“œ ๋ฐฐํฌ ์ฃผ์†Œ๋กœ ๋‚ด๊ฐ€ ๋งŒ๋“  ํ…Œ์ŠคํŠธ

programmer-may.tistory.com

 

 

๋Œ“๊ธ€