This lesson is only available in Korean for now.
Dr. Son's Domain Management, First Steps

The road one name takes
to reach your server

Why does typing a name bring up your server? Five gates stand in between β€” DNS, the proxy, the lock, the tunnel, and nginx.
These 20 lessons open each of them in turn. At the end you publish a new service on a server that has no public IP and no open ports.

🌐 DNS🟠 CloudflareπŸ”’ HTTPS πŸ•³οΈ TunnelsπŸ‡¬πŸ‡§ English
Start lesson 1 β†’

How you'll learn

πŸ—ΊοΈOne map, end to end

Name β†’ DNS β†’ Cloudflare β†’ tunnel β†’ nginx β†’ app. Every lesson says where on this map it sits.

πŸŽ›οΈShake the settings yourself

Drop the SSL mode to Flexible, turn the cloud off, close the firewall. You see exactly what breaks.

πŸ–₯️Numbers from a real server

The server running this site has no public IP and zero open ports β€” and still serves 120 sites.

🚨Five lines for when it breaks

Most outages are the same eight problems. The last two lessons give you the order for narrowing down from symptom to segment.

Full curriculum

01
이름이 μ—†μœΌλ©΄ 아무도 λͺ» μ˜¨λ‹€
drson.iotok.org λ₯Ό 친 μˆœκ°„λΆ€ν„° 이 νŽ˜μ΄μ§€κ°€ λœ¨κΈ°κΉŒμ§€
βœ“
02
μ΄λ¦„μ˜ ꡬ쑰 β€” 점은 계측이닀
drson . iotok . org . λ₯Ό 였λ₯Έμͺ½λΆ€ν„° μ½λŠ”λ‹€
βœ“
03
이름이 μ£Όμ†Œκ°€ λ˜κΈ°κΉŒμ§€ β€” λ„€ 번 λ¬»λŠ”λ‹€
루트 β†’ TLD β†’ κΆŒν•œ μ„œλ²„, 그리고 μΊμ‹œ
βœ“
04
도메인을 μ‚°λ‹€ β€” 사싀은 λΉŒλ¦¬λŠ” 것이닀
λ“±λ‘μ†Œ Β· 등둝기관 Β· WHOIS Β· 만료
βœ“
05
λ ˆμ½”λ“œ λ‹€μ„― κ°€μ§€ β€” μ΄λ¦„ν‘œμ— 무엇을 μ λ‚˜
A Β· AAAA Β· CNAME Β· MX Β· TXT
βœ“
06
TTL β€” λ°”κΏ¨λŠ”λ° μ™œ μ•ˆ λ°”λ€Œλ‚˜
μ „νŒŒλŠ” νΌμ§€λŠ” 게 μ•„λ‹ˆλΌ μΊμ‹œκ°€ λ§Œλ£Œλ˜λŠ” 것이닀
βœ“
07
ν΄λΌμš°λ“œν”Œλ ˆμ–΄μ— 도메인을 μ˜¬λ¦°λ‹€
λ„€μž„μ„œλ²„λ₯Ό λ„˜κΈ°λ©΄ κΆŒν•œμ΄ λ„˜μ–΄κ°„λ‹€
βœ“
08
A λ ˆμ½”λ“œλ₯Ό λ§Œλ“ λ‹€ β€” 첫 이름이 μ‚΄μ•„λ‚œλ‹€
이름 Β· κ°’ Β· TTL Β· ν”„λ‘μ‹œ λ„€ μΉΈ
βœ“
09
μ£Όν™© ꡬ름 β€” ν”„λ‘μ‹œλ₯Ό 켜면 무엇이 λ‹¬λΌμ§€λ‚˜
DNS-only 와 Proxied 의 차이
βœ“
10
https β€” μžλ¬Όμ‡ κ°€ μ‹€μ œλ‘œ 증λͺ…ν•˜λŠ” 것
TLS μ•…μˆ˜ Β· μΈμ¦μ„œ Β· μ‹ λ’°μ˜ μ‚¬μŠ¬
βœ“
11
Flexible 의 함정 β€” SSL λͺ¨λ“œ λ„·
Off Β· Flexible Β· Full Β· Full (strict)
βœ“
12
μ˜€λ¦¬μ§„ μΈμ¦μ„œ β€” 15λ…„μ§œλ¦¬ λ’·λ¬Έ μžλ¬Όμ‡ 
λΈŒλΌμš°μ €λŠ” μ•ˆ λ―ΏλŠ”λ‹€. ν΄λΌμš°λ“œν”Œλ ˆμ–΄λ§Œ λ―ΏλŠ”λ‹€
βœ“
13
NAT β€” μ§‘ μΈν„°λ„·μ—λŠ” 곡인 μ£Όμ†Œκ°€ μ—†λ‹€
사섀 λŒ€μ—­ Β· ν¬νŠΈν¬μ›Œλ”© Β· CGNAT
βœ“
14
터널 β€” 포트λ₯Ό ν•˜λ‚˜λ„ μ—΄μ§€ μ•Šκ³  밖에 λ‚΄λ†“λŠ”λ‹€
cloudflared λŠ” μ„œλ²„κ°€ λ°–μœΌλ‘œ κ±°λŠ” μ „ν™”λ‹€
βœ“
15
API 토큰 β€” μ—΄μ‡ λŠ” μž‘κ²Œ κΉŽμ•„ μ“΄λ‹€
Global API Key λ₯Ό μ“°μ§€ μ•ŠλŠ” 이유
βœ“
16
λ¦¬λ²„μŠ€ ν”„λ‘μ‹œ β€” ν•œ λŒ€μ— μ—¬λŸ¬ 앱을 νƒœμš΄λ‹€
nginx κ°€ λ¬Έ μ•žμ—μ„œ 방을 κ³ λ₯Έλ‹€
βœ“
17
이름 ν•˜λ‚˜μ— μ‚¬μ΄νŠΈ ν•˜λ‚˜ β€” server_name κ³Ό SNI
ν•œ IP Β· ν•œ 포트 μœ„μ— 120개 μ‚¬μ΄νŠΈ
βœ“
18
μ‹€μ œλ‘œ κ²ͺλŠ” 함정 μ—¬λŸ κ°€μ§€
증상 β†’ 원인 β†’ 확인할 ν•œ 쀄
βœ“
19
γ€μ‹€μŠ΅γ€‘ μƒˆ μ„œλΉ„μŠ€ ν•˜λ‚˜λ₯Ό 세상에 λ‚΄λ†“λŠ”λ‹€
빈 μ„œλ²„μ—μ„œ https μ£Όμ†Œκ°€ μ—΄λ¦¬κΈ°κΉŒμ§€ 아홉 걸음
βœ“
20
정리 β€” 5λΆ„ μ κ²€ν‘œμ™€, μ—¬κΈ°μ„œ μ–΄λ””λ‘œ
말할 수 μžˆλŠ” 것과 말할 수 μ—†λŠ” 것
βœ“