Web

๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ™˜๊ฒฝ(ํด๋ผ์ด์–ธํŠธ) -> ์„œ๋ฒ„ ์ฟ ํ‚ค ์ „์†ก ๋ฌธ์ œ

presentKey 2024. 9. 26. 03:31

๐Ÿ”ฅ ๋ฌธ์ œ ์ƒํ™ฉ

์ด์ „ ๊ธ€์—์„œ ์„œ๋ฒ„ → ํด๋ผ์ด์–ธํŠธ(localhost)๋กœ ์ฟ ํ‚ค ์ „์†ก ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์—ˆ๋‹ค

๊ทธ๋Ÿฐ๋ฐ ํด๋ผ์ด์–ธํŠธ → ์„œ๋ฒ„๋กœ POST ์š”์ฒญ์„ ๋ณด๋ƒˆ๋Š”๋ฐ ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋˜์ง€ ์•Š๊ณ  ์žˆ์—ˆ๋‹ค.

 

์™œ๋ƒํ•˜๋ฉด ์„œ๋ฒ„(https://custom-domain.com)์—์„œ ์ƒ์„ฑํ•œ ์ฟ ํ‚ค์˜ ๋„๋ฉ”์ธ์€ [ custom-domain.com ] ์ด๊ณ , ํด๋ผ์ด์–ธํŠธ ๋„๋ฉ”์ธ์€ [ localhost ] ๋กœ ๊ฐ™์€ ๋„๋ฉ”์ธ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ „์†ก๋˜์ง€ ์•Š์•˜๋˜ ๊ฒƒ์ด๋‹ค. (+ SameSite: Lax)

 

๋กœ๊ทธ์ธ ์ธ์ฆ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋„๋ฉ”์ธ์„ ์ผ์น˜์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์žˆ์—ˆ๋‹ค.

โœ… (๊ฐœ๋ฐœ ํ™˜๊ฒฝ) ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ์—์„œ ๋„์šฐ์ž

๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ์œ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ๋กœ์ปฌ์—์„œ ๋„์šฐ๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํด๋ผ์ด์–ธํŠธ๋Š” http://localhost:5173 ์ด๊ณ , ์„œ๋ฒ„๋Š” http://localhost:8080์ด ๋  ๊ฒƒ์ด๋‹ค.

 

์„œ๋ฒ„(http://localhost:8080)๋กœ api ์š”์ฒญ์„ ๋ณด๋‚ด ์ฟ ํ‚ค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ(http://localhost:5173)๋กœ ์ „๋‹ฌ๋œ ์ฟ ํ‚ค์˜ ๋„๋ฉ”์ธ์€ [ localhost ] ๊ฐ€ ๋œ๋‹ค. ์ด์ œ ๋„๋ฉ”์ธ์ด ์ผ์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— GET, POST ๋“ฑ ๋ชจ๋“  ์š”์ฒญ์— ๋Œ€ํ•ด ํด๋ผ์ด์–ธํŠธ → ์„œ๋ฒ„๋กœ ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋œ๋‹ค.

 

โœ… (๋ฐฐํฌ ํ™˜๊ฒฝ) ์„œ๋ธŒ ๋„๋ฉ”์ธ ์„ค์ •

๊ธฐ์กด ํ”„๋ก ํŠธ ๋„๋ฉ”์ธ์ด [ front-service.com ]์ด๊ณ , ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๋„๋ฉ”์ธ์ด [ custom-domain.com ] ์ด๋ฉด ๊ฐ™์€ ๋„๋ฉ”์ธ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ํ‚ค ์ „์†ก์ด ์•ˆ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์˜ ๋„๋ฉ”์ธ์„ ์ผ์น˜์‹œ์ผœ์•ผ ํ•œ๋‹ค.

 

๊ธฐ์กด์˜ ์„œ๋ฒ„ ๋„๋ฉ”์ธ [ custom-domain.com ] ์„ ์‚ฌ์šฉ์ž๋“ค์ด ์„œ๋น„์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , ์„œ๋ฒ„๋Š” ์„œ๋ธŒ ๋„๋ฉ”์ธ์„ ์ ์šฉํ•ด [ api.custom-domain.com ] ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ์ถ”๊ฐ€๋กœ api.custom-domain.com ์„œ๋ฒ„์—์„œ ์ƒ์„ฑํ•œ ์ฟ ํ‚ค๋Š” api.custom-domain.com ์—์„œ๋งŒ ์œ ํšจํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ํ‚ค์˜ domain ์†์„ฑ domain=custom-domain ์„ ์„ค์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €๋กœ ํ™•์ธํ•ด๋ณด๋ฉด ๋ณ„๋„์˜ domain ์†์„ฑ์„ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋„๋ฉ”์ธ๊ณผ ์„œ๋ธŒ๋„๋ฉ”์ธ๊ฐ„ ์ฟ ํ‚ค ์ „์†ก์ด ์ž˜ ๋˜๊ณ ์žˆ๋‹ค.  (ํŒŒ์ด์–ดํญ์Šค๋Š” ์ €์žฅ๋œ ์ฟ ํ‚ค๊ฐ€ ๋ณด์ด์ง€๋Š” ์•Š์ง€๋งŒ api ์š”์ฒญ ์‹œ, ์ฟ ํ‚ค๊ฐ€ ์ž˜ ์ „์†ก๋˜๊ณ  ์žˆ๋‹ค.)

 

์„œ๋ธŒ ๋„๋ฉ”์ธ
์„œ๋ธŒ ๋„๋ฉ”์ธ์€ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์•ž์— ๋ถ™๋Š” ์ถ”๊ฐ€์ ์ธ ์‹๋ณ„์ž์ด๋‹ค. 
api.example.com, m.example.com, admin.example.com ๋“ฑ ๋ชจ๋‘ example.com ๋„๋ฉ”์ธ์˜ ์„œ๋ธŒ ๋„๋ฉ”์ธ์ด๋‹ค.

 

์ฟ ํ‚ค domain ์†์„ฑ

- ๋„๋ฉ”์ธ ์†์„ฑ ์ง€์ •ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ
๊ธฐ๋ณธ์ ์œผ๋กœ ์ฟ ํ‚ค๊ฐ€ ์„ค์ •๋œ ์„œ๋ฒ„์˜ ๋„๋ฉ”์ธ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ex) api.example.com์—์„œ ์ƒ์„ฑ๋œ ์ฟ ํ‚ค๋Š” api.example.com์—์„œ๋งŒ ์œ ํšจํ•˜๊ณ , example.com ๋ฐ ๋‹ค๋ฅธ ์„œ๋ธŒ ๋„๋ฉ”์ธ์—์„œ๋Š” ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
(์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ์ฟ ํ‚ค ์ „์†ก์ด ๋˜๋Š”๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค.)

- ๋„๋ฉ”์ธ ์†์„ฑ ์ง€์ •
domain=example.com ์œผ๋กœ ์„ค์ •ํ•˜๋ฉด example.com ๋ฐ ๋‹ค๋ฅธ ์„œ๋ธŒ ๋„๋ฉ”์ธ์—์„œ๋„ ์ฟ ํ‚ค๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.