πŸš‡

ngrok은 μ–΄λ–»κ²Œ λ™μž‘ν•˜λ‚˜?

λ¦¬λ²„μŠ€ ν„°λ„λ‘œ 둜컬 μ„œλ²„λ₯Ό 인터넷에 λ…ΈμΆœ

ngrok의 핡심은 "λ¦¬λ²„μŠ€ 터널"μž…λ‹ˆλ‹€. λ‚΄ PCμ—μ„œ ngrok μ—μ΄μ „νŠΈκ°€ ngrok ν΄λΌμš°λ“œ μ„œλ²„μ— μ•„μ›ƒλ°”μš΄λ“œ TCP/TLS 연결을 λ¨Όμ € μˆ˜λ¦½ν•©λ‹ˆλ‹€. ngrok ν΄λΌμš°λ“œκ°€ 곡개 URL(예: abc123.ngrok.io)을 ν• λ‹Ήν•˜κ³ , μ™ΈλΆ€μ—μ„œ 이 URL둜 λ“€μ–΄μ˜€λŠ” HTTP μš”μ²­μ„ ν•΄λ‹Ή 터널을 톡해 λ‚΄ 둜컬 μ„œλ²„λ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€. 포트 ν¬μ›Œλ”©μ΄λ‚˜ λ°©ν™”λ²½ μ„€μ • 없이도 둜컬 μ„œλΉ„μŠ€λ₯Ό 인터넷에 λ…ΈμΆœν•  수 μžˆλŠ” μ΄μœ κ°€ λ°”λ‘œ μ΄κ²ƒμž…λ‹ˆλ‹€.

ꡬ쑰 λ‹€μ΄μ–΄κ·Έλž¨

🌍
μ™ΈλΆ€ ν΄λΌμ΄μ–ΈνŠΈ
λΈŒλΌμš°μ € / Webhook
β‘£ HTTP μš”μ²­
☁️
ngrok Cloud
abc123.ngrok.io
곡개 URL ν• λ‹Ή
β‘€ 터널 전달
β‘‘ μ•„μ›ƒλ°”μš΄λ“œ TLS
πŸš‡ πŸ’»
λ‚΄ PC (λ°©ν™”λ²½ λ’€)
ngrok agent localhost:3000
핡심: ngrok agentκ°€ λ¨Όμ € μ•„μ›ƒλ°”μš΄λ“œ 연결을 μ—΄κΈ° λ•Œλ¬Έμ— λ°©ν™”λ²½/NAT 섀정이 λΆˆν•„μš”
흐름 μ„€λͺ…
  1. ngrok http 3000 μ‹€ν–‰
  2. agentκ°€ ngrok ν΄λΌμš°λ“œμ— μ•„μ›ƒλ°”μš΄λ“œ TLS 터널 수립
  3. 곡개 URL(abc123.ngrok.io) ν• λ‹Ή
  4. μ™ΈλΆ€ νŠΈλž˜ν”½μ΄ 곡개 URL둜 도착
  5. ngrok ν΄λΌμš°λ“œκ°€ 터널을 톡해 둜컬둜 전달
  6. 둜컬 응닡이 터널을 타고 외뢀에 λ°˜ν™˜

λ™μž‘ 흐름

1

ngrok agentκ°€ λ‘œμ»¬μ—μ„œ μ‹€ν–‰ (ngrok http 3000)

2

agentκ°€ ngrok ν΄λΌμš°λ“œμ— μ•„μ›ƒλ°”μš΄λ“œ TLS μ—°κ²° 수립 (λ¦¬λ²„μŠ€ 터널)

3

ngrok ν΄λΌμš°λ“œκ°€ 곡개 URL ν• λ‹Ή (abc123.ngrok.io)

4

μ™ΈλΆ€ ν΄λΌμ΄μ–ΈνŠΈκ°€ 곡개 URL둜 HTTP μš”μ²­ 전솑

5

ngrok ν΄λΌμš°λ“œκ°€ 터널을 톡해 μš”μ²­μ„ 둜컬 μ„œλ²„λ‘œ 전달

6

둜컬 μ„œλ²„μ˜ 응닡이 터널을 타고 μ™ΈλΆ€ ν΄λΌμ΄μ–ΈνŠΈμ— λ°˜ν™˜

μž₯점

  • λ°©ν™”λ²½/NAT λ’€μ—μ„œλ„ λ™μž‘
  • 곡개 URL μ¦‰μ‹œ 생성
  • HTTPS μžλ™ 지원
  • 포트 ν¬μ›Œλ”© λΆˆν•„μš”

단점

  • ngrok ν΄λΌμš°λ“œ 의쑴 (단일 μž₯애점)
  • 무료 ν”Œλžœ μ œν•œ (μ„Έμ…˜ μ‹œκ°„, λŒ€μ—­ν­)
  • λ ˆμ΄ν„΄μ‹œ μΆ”κ°€ (ν΄λΌμš°λ“œ 경유)
  • ν”„λ‘œλ•μ…˜ μš©λ„λ‘œλŠ” 뢀적합

μ‚¬μš© 사둀

Webhook 둜컬 개발/디버깅 λͺ¨λ°”일 μ•±μ—μ„œ 둜컬 API ν…ŒμŠ€νŠΈ 데λͺ¨/ν”„λ ˆμ  ν…Œμ΄μ…˜ IoT λ””λ°”μ΄μŠ€ 원격 μ ‘κ·Ό