๐ŸŽกํฌํŠธํฌ์›Œ๋”ฉ๊ณผ ๋„๋ฉ”์ธ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์ •๋ฆฌ(Springboot)

์ดํ•˜์–€ยท2023๋…„ 5์›” 22์ผ
3

๐Ÿ“— Spring & SpringBoot

๋ชฉ๋ก ๋ณด๊ธฐ
6/6
post-thumbnail

์˜ค๋Š˜์€ ์บก์Šคํ†ค๋””์ž์ธ ํšŒ์˜(14:40 ~ )์—์„œ ํ”„๋ก ํŠธ ์ธก์˜ ๋„๋ฉ”์ธ ์š”์ฒญ์ด ์žˆ์–ด ์—ฐ๋™์„ ํ–ˆ๋‹ค.

๐ŸŽขํฌํŠธํฌ์›Œ๋”ฉ

์ด ๋ถ€๋ถ„์€ ์ด๋ฏธ ์Šค๋งˆ์ผ๊ฒŒ์ดํŠธ์—์„œ ํ•ด๋ณธ ์ ์ด ์žˆ์–ด, ์„ค์ • ๋ฐฉ์‹์€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์–ด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ–ˆ๋‹ค.
๋‹ค๋งŒ, iptime ๊ณต์œ ๊ธฐ ๋ฐฉ์‹์ด๋‹ˆ ํฌํŠธํฌ์›Œ๋”ฉ์„ ์ง„ํ–‰ํ•˜๋ ค๋Š” ๊ณต์œ ๊ธฐ๊ฐ€ iptime์ธ์ง€ ํ™•์ธํ•˜๊ณ  ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

1. 192.168.0.1 ์ ‘์†

  • iptime ์„ค์ •์œผ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ์ด๋‹ค. ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰์ฐฝ์— ์ž…๋ ฅํ•˜๊ณ  ์ ‘์†ํ•˜๋ฉด ๋กœ๊ทธ์ธ์„ ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๋ถ€๋ถ„์€ ๋ณธ์ธ์ด ๊ณต์œ ๊ธฐ๋ฅผ ์„ค์ •ํ•  ๋‹น์‹œ ์„ค์ •ํ•œ ๊ฐ’์ด๋‹ˆ ์ฐธ๊ณ ํ•˜์ž.
    ์ฐธ๊ณ ) ๋งŒ์•ฝ ์„ค์ •์„ ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ดˆ๊ธฐ ๋กœ๊ทธ์ธ ์ด๋ฆ„๊ณผ ๋กœ๊ทธ์ธ ์•”ํ˜ธ๋Š” ๋ชจ๋‘ admin์ด๋‹ค.

    ๋˜ํ•œ, ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ํ•ด๋‹น ํ™”๋ฉด์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์—์„œ ๊ด€๋ฆฌ๋„๊ตฌ๋กœ ์ ‘์†ํ•˜์ž.

๊ทธ ๋‹ค์Œ, ๋ณธ์ธ์˜ ๊ณต์œ ๊ธฐ์˜ ์—ฐ๊ฒฐ ํ˜•ํƒœ๋ฅผ ๋ฐ˜๋“œ์‹œ ์‚ดํŽด๋ณด์•„์•ผ ํ•œ๋‹ค.
๋ฉ”๋‰ด ํƒ์ƒ‰๊ธฐ์˜ ๊ธฐ๋ณธ ์„ค์ • > ์‹œ์Šคํ…œ ์š”์•ฝ ์ •๋ณด์— ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ํ™”๋ฉด์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์—์„œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์ž˜ ๋ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

-> ์ด ๊ณณ์˜ ์ฃผ์†Œ๊ฐ€ 1.XX... ์ฒ˜๋Ÿผ 192.168 ํ˜•ํƒœ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์‚ฌ์„ค IP๊ฐ€ ๊ณง๋ฐ”๋กœ ๊ณต์œ ๊ธฐ์— ์—ฐ๊ฒฐ์ด ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.
-> ํ•˜์ง€๋งŒ, 192.168.X.X์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ง€์ •๋˜์–ด ์žˆ๋‹ค๋ฉด ์ด์ค‘ ํฌํŠธํฌ์›Œ๋”ฉ์„ ํ•ด์•ผ๋งŒ ํ•œ๋‹ค.

๐Ÿ“Œ์ด์ค‘ ํฌํŠธํฌ์›Œ๋”ฉ?
์ด์ค‘(2์ค‘) ๊ณต์œ ๊ธฐ or ๋‹ค์ค‘ ๊ณต์œ ๊ธฐ ํฌํŠธํฌ์›Œ๋”ฉ ๋ฐฉ๋ฒ•
์ด๋ก ์€ ํ•ด๋‹น ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค.
๋ณธ์ธ์ด ์ด์ค‘ ํฌํŠธํฌ์›Œ๋”ฉ์ด ํ•„์š”ํ•œ ํ™˜๊ฒฝ์ด๋ผ๋ฉด, ๋ฐฉ๊ธˆ ์šฐ๋ฆฌ๊ฐ€ ํ™•์ธํ–ˆ๋˜ ์™ธ๋ถ€ IP ์ฃผ์†Œ๊ฐ€ ํ˜„์žฌ ์ ‘์†ํ•œ ๊ณต์œ ๊ธฐ๋ณด๋‹ค ์•ž๋‹จ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.
๊ทธ๋Ÿผ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•  ๊ฒƒ์ด๋‹ค.
๋ฐฉ๋ฒ•์€? ํ™•์ธํ•œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ๊ฒ€์ƒ‰์ฐฝ ๊ฒ€์ƒ‰ ํ•ด์„œ ๋“ค์–ด๊ฐ€๋ฉด ๋œ๋‹ค!!
์ž์„ธํ•œ ์„ค์ • ๋ฐฉ๋ฒ• ์—ญ์‹œ ์œ„ ๋งํฌ์— ๋‚˜์™€ ์žˆ์œผ๋‹ˆ, ์ฐธ๊ณ ํ•˜๊ธฐ!

์ด์ œ, ์›๊ฒฉ ๊ด€๋ฆฌ ํฌํŠธ๋ฅผ ์„ค์ •ํ•ด์ฃผ์ž.
๋ฉ”๋‰ด ํƒ์ƒ‰๊ธฐ์˜ ๊ณ ๊ธ‰ ์„ค์ • > ๋ณด์•ˆ ๊ธฐ๋Šฅ > ๊ณต์œ ๊ธฐ ์ ‘์†/๋ณด์•ˆ๊ด€๋ฆฌ์— ๋“ค์–ด๊ฐ€๋ฉด ํ•ด๋‹น ํ™”๋ฉด์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

-> ํ•ด๋‹น ํ™”๋ฉด์—์„œ ์›๊ฒฉ ๊ด€๋ฆฌ ํฌํŠธ ์‚ฌ์šฉ์„ ์ฒดํฌํ•ด์ฃผ๊ณ , ์›ํ•˜๋Š” ํฌํŠธ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค.
(๋ณธ์ธ์˜ ๊ฒฝ์šฐ, 8081 ํฌํŠธ๋ฅผ ์—ด์–ด์•ผ ํ•  ๊ฒƒ์œผ๋กœ ํŒ๋‹จํ•˜์—ฌ ์ง€์ •ํ–ˆ๋‹ค.)


  1. ํฌํŠธํฌ์›Œ๋”ฉ
    ์ด๋•Œ, ๋ณธ์ธ์ด ํ—ˆ์šฉํ•  ์™ธ๋ถ€ ํฌํŠธ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋จผ์ € ์•Œ์•„์•ผ ํ•œ๋‹ค.
    ๋ณธ์ธ์˜ ๊ฒฝ์šฐ
    springboot, MySQL, Redis
    ์ด๋ ‡๊ฒŒ 3๊ฐ€์ง€๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—
    8080(๋˜๋Š” ๊ฐœ์ธ์ด ์„œ๋ฒ„ ๊ฐœ๋ฐœ ์‹œ ์‚ฌ์šฉํ•œ ํฌํŠธ), 3306, 6379
    3๊ฐ€์ง€์˜ ํฌํŠธํฌ์›Œ๋”ฉ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

    -> ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ™”๋ฉด์ด ๋‚˜์˜ฌ ๊ฒƒ์ด๋‹ค.

๋ณธ์ธ์˜ ๊ฒฝ์šฐ, ์ด๋ฏธ ์„ค์ •์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ๋งŽ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฑฐ์˜ ์•„๋ฌด๊ฒƒ๋„ ์จ์žˆ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

์ƒˆ ๊ทœ์น™ ์ถ”๊ฐ€๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ์•„๋ž˜์— ๊ทœ์น™ ์ด๋ฆ„, ๋‚ด๋ถ€ IP ์ฃผ์†Œ ๋“ฑ ์“ธ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.
์ž, ๊ทธ๋Ÿฌ๋ฉด ํฌํŠธํฌ์›Œ๋”ฉ ์„ค์ •์„ ์‹œ์ž‘ํ•ด์ฃผ์ž.

์ฒซ๋ฒˆ์งธ, ์Šคํ”„๋ง๋ถ€ํŠธ ํฌํŠธ ์—ด์–ด์ฃผ๊ธฐ

๐Ÿ’ก ๊ทœ์น™ ์ด๋ฆ„ : ์›ํ•˜๋Š” ๋Œ€๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.
๐Ÿ’ก ๋‚ด๋ถ€ IP ์ฃผ์†Œ : ์™ผ์ชฝ์˜ ํ˜„์žฌ ์ ‘์†๋œ IP ์ฃผ์†Œ๋ฅผ ํด๋ฆญํ•ด์ค˜์•ผ ํ•œ๋‹ค.
๐Ÿ’ก ํ”„๋กœํ† ์ฝœ : TCP๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ๊ฑด๋“œ๋ฆฌ์ง€ ๋ง์ž
๐Ÿ’ก ์™ธ๋ถ€ ํฌํŠธ : "์™ธ๋ถ€์—์„œ ์ž…๋ ฅํ•˜์—ฌ ์ ‘์†ํ•˜๊ณ ์ž ํ•˜๋Š” ํฌํŠธ ๋ฒˆํ˜ธ"์ด๊ธฐ ๋•Œ๋ฌธ์— 8081 ๋˜๋Š” 80์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.
 				-> ์™ธ๋ถ€์—์„œ "์ฃผ์†Œ:80" ์ด๋Ÿฐ ์‹์œผ๋กœ ์ ‘์†์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
๐Ÿ’ก ๋‚ด๋ถ€ ํฌํŠธ : ์Šคํ”„๋ง๋ถ€ํŠธ์—์„œ ์„ค์ •ํ•œ ํฌํŠธ ๋ฒˆํ˜ธ(๋ณธ์ธ์˜ ๊ฒฝ์šฐ 8081 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ์Œ.

์ž‘์„ฑ์„ ๋งˆ์ณค๋‹ค๋ฉด ์ ์šฉ ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™”๋  ๊ฒƒ์ด๋‹ค. ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

โš’๏ธ Trouble shooting

  • ์›๋ž˜๋Š” ์™ธ๋ถ€ ํฌํŠธ์™€ ๋‚ด๋ถ€ ํฌํŠธ๋ฅผ 8081๋กœ ๋™์ผํ•˜๊ฒŒ ์ง€์ •ํ–ˆ์—ˆ๋‹ค.
  • ํ•˜์ง€๋งŒ, ์ด ๊ฒฝ์šฐ ์ด์ƒํ•˜๊ฒŒ๋„ Postman์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, 400์—๋Ÿฌ๋งŒ ๋ฑ‰์–ด๋ƒˆ๋‹ค.
  • ์„ค๋งˆ ํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ ์™ธ๋ถ€ ํฌํŠธ๋ฅผ ์•Œ๋ ค์ง„ ํฌํŠธ์ธ 80์œผ๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ , ์š”์ฒญ์„ ๋‚ ๋ฆฌ๋‹ˆ ์„ฑ๊ณตํ–ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ, ๋‚˜๋จธ์ง€ ๋ชจ๋‘ ํฌํŠธ ์—ด์–ด์ฃผ๊ธฐ

  • ํฌํŠธ ํฌ์›Œ๋”ฉ ์ž์ฒด์˜ ๋ฐฉ์‹์„ ๋ชจ๋‘ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋กœ ์œ„๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์›ํ•˜๋Š” ์„œ๋น„์Šค์˜ ํฌํŠธ๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•ด์ฃผ๋ฉด ๋๋‚œ๋‹ค.

    ํ•œ๊ฐ€์ง€ ์ฐธ๊ณ ์‚ฌํ•ญ
    ๋งŒ์•ฝ, ๋ชจ๋“  ์„ค์ •์ด ๋™์ผํ•จ์—๋„ ์ ‘์†์ด ์•ˆ๋œ๋‹ค๋ฉด ์ˆœ์œ„๋ฅผ ๋ณ€๊ฒฝํ•ด๋ณธ๋‹ค.
    ๋ณธ์ธ์ด ์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋น„์Šค์˜ ํฌํŠธ์˜ ์ˆœ์œ„๋ฅผ ๋†’์—ฌ์ฃผ๋ฉด ์ž˜ ์—ฐ๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง„๋‹ค.
    ๋ณธ์ธ์˜ ๊ฒฝ์šฐ, Springboot ํฌํŠธ๋ฅผ 2์ˆœ์œ„๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ƒ๋‹จ์— ์˜ฌ๋ ค๋‘์—ˆ๋‹ค.

์ž, ์ด์ œ ๊ทธ๋Ÿฌ๋ฉด ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•˜๊ณ  ์—ฐ๊ฒฐํ•ด์ฃผ์ž.


๐Ÿ”—๋„๋ฉ”์ธ ์—ฐ๊ฒฐ

  • ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ, ๊ฒฝํ—˜์ด ์žˆ์–ด ์–ด๋ ต์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ๐Ÿ’ฐ์„ ์“ฐ๊ฒŒ ๋˜์—ˆ๋‹ค.
  • ํ•ด๋‹น ๋ถ€๋ถ„์—์„œ ๋ˆ์„ ์“ฐ๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฐฉ์‹์ด ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์ž.

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

์‚ฌ์ „ ์ ๊ฒ€ : ํ™˜๊ฒฝ
๋ณธ์ธ์˜ ๊ฒฝ์šฐ, ์ž‘๋…„์— ๋ฆฌ๋ˆ…์Šค ์ˆ˜์—…์„ ๋“ค์œผ๋ฉฐ ์ด๋ฏธ ๋‹ทํ™ˆ์ด๋ผ๋Š” ์‚ฌ์ดํŠธ์—์„œ ๋ฌด๋ฃŒ ์›น ํ˜ธ์ŠคํŒ…์„ ๊ณ„์† ์—ฐ์žฅ์ค‘์ธ ์ƒํƒœ์˜€๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ทํ™ˆ์œผ๋กœ ์ง„ํ–‰ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

  1. ๋‹ทํ™ˆ ์ ‘์†
  • ๋‹ทํ™ˆ ๋งํฌ
    ํ•ด๋‹น ๋งํฌ๋ฅผ ๋ˆŒ๋Ÿฌ ์ ‘์†ํ•˜๊ณ , ๋กœ๊ทธ์ธ์„ ํ•œ๋‹ค.
    (๋งŒ์•ฝ, ํšŒ์›๊ฐ€์ž…์„ ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ํšŒ์›๊ฐ€์ž… ํ›„ ๋กœ๊ทธ์ธ ํ•˜์ž.)

    ๋งˆ์ด ๋‹ทํ™ˆ์„ ๋ˆŒ๋Ÿฌ์ฃผ์ž.

    ๋„๋ฉ”์ธ ๊ด€๋ฆฌ > ๋„๋ฉ”์ธ ์‚ฌ์šฉํ˜„ํ™ฉ์—์„œ ํ˜„์žฌ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ๋จผ์ € ํ™•์ธํ•œ๋‹ค.

    ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ, ์ด ๊ณณ์—์„œ ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
    1) ๋‹ทํ™ˆ ํ™ˆํŽ˜์ด์ง€ ์ƒ๋‹จ์—์„œ ๋„๋ฉ”์ธ ํด๋ฆญ -> ๋„๋ฉ”์ธ ๊ฒ€์ƒ‰ ํด๋ฆญ
    2) ๋„๋ฉ”์ธ ๊ฒ€์ƒ‰ ์ฐฝ์— ์›ํ•˜๋Š” ์ด๋ฆ„ ๊ฒ€์ƒ‰ & ์‹ ์ฒญ & ๊ฒฐ์ œ

    -> ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๋„๋ฉ”์ธ์ด ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰์ด ๋  ๊ฒƒ์ด๋‹ค.
    ๋ณธ์ธ์˜ ๊ฒฝ์šฐ jjclub์„ ๊ฒ€์ƒ‰ํ–ˆ๊ณ  ๋ฌด๋ฃŒ๋Š” ์•„๋‹ˆ์ง€๋งŒ 1๋…„์— 11000์›์ด๋ฉด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ pe.kr์„ ๊ฐ€์ง„ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ–ˆ๋‹ค.

  • ๋„๋ฉ”์ธ ๊ตฌ๋งค๋ฅผ ๋งˆ์น˜๊ณ  ๋‚˜๋ฉด, ๋งˆ์ด ๋‹ทํ™ˆ > ๋„๋ฉ”์ธ ๊ด€๋ฆฌ > ๋„๋ฉ”์ธ ์‚ฌ์šฉํ™”๋ฉด ์ด ํ™”๋ฉด์—์„œ ๋„๋ฉ”์ธ์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

์ด์ œ, ์ด ํ™”๋ฉด์—์„œ DNS ๊ด€๋ฆฌ์— ์ ‘์†ํ•ด์ฃผ๊ณ , DNS ๋ ˆ์ฝ”๋“œ ๊ด€๋ฆฌ๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ์ž.

๊ทธ๋Ÿฌ๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€ ํด๋ฆญ!

๊ทธ๋Ÿฌ๋ฉด ์ด ํ™”๋ฉด์ด ๋ณด์ธ๋‹ค.

๐Ÿ’ก ํƒ€์ž… : A
๐Ÿ’ก ์ด๋ฆ„ : ์›ํ•˜๋Š” ์ด๋ฆ„ ์ž…๋ ฅ
๐Ÿ’ก TTL : 3600(์•„๋งˆ default๋กœ ์„ค์ •๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋‹ˆ ์‹ ๊ฒฝ ์•ˆ์จ๋„ ๋จ)
๐Ÿ’ก ๊ฐ’ : ์™ธ๋ถ€ IP ์ฃผ์†Œ

์—ฌ๊ธฐ์—์„œ ๊ฐ’ ๋ถ€๋ถ„์€ ์šฐ๋ฆฌ๊ฐ€ ํฌํŠธํฌ์›Œ๋”ฉ ์‹œ์— ํ™•์ธํ–ˆ๋˜ ์™ธ๋ถ€ IP ์ฃผ์†Œ์ด๋‹ค!!

๋ชจ๋‘ ์ž…๋ ฅํ–ˆ๋‹ค๋ฉด ์ถ”๊ฐ€ํ•˜๊ธฐ ํด๋ฆญํ•ด์„œ ์ €์žฅํ•ด์ค€๋‹ค.
๊ทธ๋Ÿฌ๊ณ  ๋‚˜๋ฉด ์ด์ œ ๋„๋ฉ”์ธ ์ค€๋น„๋Š” ๋ชจ๋‘ ๋๋‚ฌ๋‹ค.


๐Ÿ’ปIntelliJ(SpringBoot) ์„ค์ •

  • ๋ณธ์ธ์€ SpringBoot๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„ API๋ฅผ ๊ฐœ๋ฐœํ–ˆ๋‹ค.
  • ๋˜ํ•œ, MySQL Workbench์™€ Windows์šฉ Redis๋ฅผ ์‚ฌ์šฉํ•ด DB๋ฅผ ๊ตฌ์„ฑํ–ˆ๋‹ค.
  • API ํ…Œ์ŠคํŠธ๋Š” Postman์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
  1. application.yml์—์„œ ์ •๋ณด ์ถ”๊ฐ€&์ˆ˜์ •(or application.properties๋„ ์ƒ๊ด€ X)
Project > resources > application.yml


๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋์ด๋‹ค.

ํฌํŠธ๋Š” 8081์„ ์ด์šฉํ•  ๊ฒƒ์ด๋ผ๋Š” ํ‘œํ˜„์ด๋‹ค.
๋˜ํ•œ, "address: 0.0.0.0"์˜ ํ‘œํ˜„์€ ์–ด๋– ํ•œ ์ฃผ์†Œ๋ผ๋„ ์ ‘์†์„ ํ—ˆ์šฉํ•˜๊ฒ ๋‹ค๋Š” ํ‘œํ˜„ ์ •๋„๋กœ ์ดํ•ดํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
์ด ๋ถ€๋ถ„์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด, ์—ฌ๋Ÿฌ๋ถ„์ด runํ•  ์„œ๋ฒ„๋Š” ์ž๋™์ ์œผ๋กœ localhost(127.0.0.1)์„ ์—ฐ๊ฒฐํ•  ๊ฒƒ์ด๋‹ค.
๊ทธ๋Ÿฌ๋‹ˆ, ์šฐ๋ฆฌ๊ฐ€ ์ ‘์†์„ ์›ํ•˜๋Š” ๋„๋ฉ”์ธ์ฃผ์†Œ ๋˜๋Š” ip ์ฃผ์†Œ๋กœ ์—ฐ๊ฒฐ์„ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•˜์ž.

์ฐธ๊ณ  ๋งํฌ : [Spring Boot] ์Šคํ”„๋ง ๋ถ€ํŠธ ์™ธ๋ถ€ ์ ‘์† ์•ˆ๋˜๋Š” ๋ฌธ์ œ

ํ…Œ์ŠคํŠธ

์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•˜๊ณ , Postman์—์„œ ์š”์ฒญ์„ ๋‚ ๋ ค๋ณด์ž.
์ด ๋ถ€๋ถ„์„ ์‚ดํŽด๋ณด์ž.

์›๋ž˜๋Š” ๋กœ์ปฌ์—์„œ ๋Œ€๋ถ€๋ถ„ ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋‹ค๋ฉด ์ด ๋ถ€๋ถ„์ด http://localhost:8080/...๊ณผ ๊ฐ™์ด ๋˜์–ด์žˆ์„ ๊ฒƒ์ด๋‹ค.
์ด ๋ถ€๋ถ„์€ localhost์—์„œ๋งŒ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ถ€์—์„œ ์ ‘์†์„ ํ•  ์ˆ˜ ์žˆ๊ณ , ip ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ฒ˜๋ฆฌ๋ฅผ ์ด ํฌ์ŠคํŠธ์—์„œ ํ•ด์˜จ ๊ฒƒ์ด๋‹ค.

http://Cap.jjclub.pe.kr.:80/
-> ์—ฌ๊ธฐ์—์„œ Cap.jjclub.pe.kr์€ ํ˜„์žฌ ์š”์ฒญ์„ ํ•˜๊ณ ์ž ์ ‘์†ํ•˜๋ ค๋Š” ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ๋œปํ•˜๊ณ , :80์€ 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ์ ‘์†ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.

ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ?

-> ๋Œ€ํ‘œ์ ์œผ๋กœ 4๊ฐ€์ง€๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.
(ํšŒ์›์ •๋ณด ์กฐํšŒ, ์ˆ˜์ •, ํƒˆํ‡ด, ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ๋“ฑ์€ ๊ตณ์ด ํ•˜์ง€ ์•Š์•˜๋‹ค.)


  • ์ด๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ

    ๐Ÿ’กRequest
  • ์š”์ฒญ ํ˜•์‹ : POST
  • URI : http://Cap.jjclub.pe.kr:80/api/v1/auth/email
  • Body
    {
        "email":"dlgkdis801@jj.ac.kr"
    }
    ๐Ÿ’กResponse
    • 200 Ok
      {
        "success": true,
        "code": 0,
        "msg": "์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค.",
        "data": "send mail"
      }

  • ์ด๋ฉ”์ผ ์ธ์ฆ๋ฐ›๊ธฐ

    ๐Ÿ’กRequest
  • ์š”์ฒญ ํ˜•์‹ : POST
  • URI : http://Cap.jjclub.pe.kr:80/api/v1/auth/verifyCode
  • Body
    {
      "email": "dlgkdis801@jj.ac.kr",
      "code": "899719" //ํ•ด๋‹น ๋ถ€๋ถ„์€ ์‹ค์ œ ์ด๋ฉ”์ผ๋กœ ๋ฐ›์€ ์ธ์ฆ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์•ผ ํ•จ.
      }
    ๐Ÿ’กResponse
    • 200 Ok
      {
        "success": true,
        "code": 0,
        "msg": "์„ฑ๊ณตํ•˜์˜€์Šต๋‹ˆ๋‹ค.",
        "data": "true"
      }

  • ํšŒ์›๊ฐ€์ž…

    ๐Ÿ’กRequest
  • ์š”์ฒญ ํ˜•์‹ : POST
  • URI : http://Cap.jjclub.pe.kr:80/api/v1/auth/signup
  • Body
    {
        "email":"dlgkdis801@jj.ac.kr",
        "password":"1234",
        "userName":"์ดํ•˜์–€"
    }
    ๐Ÿ’กResponse
    • 201 Created
      {
          "result": "success",
          "data": {
              "email": "dlgkdis801@jj.ac.kr",
              "userName": "์ดํ•˜์–€",
              "mbti": null
          }
      }

  • ๋กœ๊ทธ์ธ

๐Ÿ’กRequest

  • ์š”์ฒญ ํ˜•์‹ : POST
  • URI : http://Cap.jjclub.pe.kr:80/api/v1/auth/login
  • Body
    {
        "email":"dlgkdis801@jj.ac.kr",
        "password":"1234"
    }
    ๐Ÿ’กResponse
    • 201 Created
      {
        "result": "success",
        "data": {
            "grantType": "bearer",
            "accessToken": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxIiwiYXV0aCI6IlJPTEVfVVNFUiIsImV4cCI6MTY4NDc1NTk3OX0.N_HmC4C8B5P1MqJ71NixyipFUrI9TLjjnvl9xHhRmnw343SeTwsYwjxV-GaKpZJ5rMX6eKUAt69kbr29zJyFKQ",
            "refreshToken": "eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE2ODUzNTg5Nzl9.pz9i-0fwIZteA3FArfZanQp4a4DqnVJFk8qsOUO2dBPsUJI_Pl_MdYoIYPCQCwS-W3Jeq2sqPeJOrgu5yR6k7A",
            "accessTokenExpiresIn": 1684755979760
        }
      }

์ •๋ฆฌ

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋„๋ฉ”์ธ์œผ๋กœ๋„ ์ž˜ ํ…Œ์ŠคํŠธ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
๋„๋ฉ”์ธ์„ ์ด์šฉํ•ด API๋ฅผ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๊ณต์œ ํ•ด์•ผํ•œ๋‹ค๋ฉด ์ง€๊ธˆ๊นŒ์ง€ ์ด์•ผ๊ธฐํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ˆœ์„œ ๊ฐ„๋‹จ ์ •๋ฆฌ
1. ํฌํŠธํฌ์›Œ๋”ฉ
2. ๋„๋ฉ”์ธ ๊ตฌ๋งค(or ๋ฐœ๊ธ‰)
3. DNS ์„ค์ •
4. ์„œ๋ฒ„์—์„œ API ํ…Œ์ŠคํŠธ

๊ทธ๋Ÿผ ์ด๋งŒ!

profile
์–ธ์  ๊ฐ€ ๋‚ด ์ฝ”๋“œ๋กœ ์„ธ์ƒ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋„๋ก, BE&Data Science ๊ฐœ๋ฐœ ๊ธฐ๋ก ๋…ธํŠธโ˜˜๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€