도메인 사고 HTTPS 붙이기
처음 사이트 배포하려는데 도메인부터 막혔다.
"도메인 사야 해" "DNS 설정해야 해" "HTTPS 붙여야 해" 다들 당연하게 말하는데 나는 뭐가 뭔지 몰랐다. 그래서 삽질하면서 배운 것들 정리해둔다.
도메인 구매 #
도메인은 인터넷 주소다. example.com 이런 거.
처음에 GoDaddy에서 샀다가 후회했다. 첫 해는 싸다. $1.99 이런 식으로 광고함. 근데 갱신비가 비싸다. 다음 해부터 $20 넘게 나온다. 덫이다.
추천: Cloudflare Registrar
원가에 판다고 해서 제일 싸다. .com이 연 $10.44 정도. 갱신비도 같다. 덤으로 Cloudflare DNS, 보안 기능 다 무료.
다른 선택지:
- Namecheap: 첫 해 $8-9, 갱신 $13-14. 괜찮음
- Porkbun: 비슷한 가격대. 인터페이스 깔끔
- Google Domains: 서비스 종료됨. 이제 Squarespace로 이관됨
도메인 이름 고르기 #
이름 고르는 게 어려웠다.
짧고 기억하기 쉬운 건 다 팔렸다. cat.com? 없다. memo.com? 당연히 없다. 4글자 .com은 거의 다 없다고 보면 됨.
내가 쓴 방법:
- 단어 조합: quick + note = quicknote. 붙이거나 하이픈.
- 약간 변형: memmo, notr 이런 식으로 스펠링 변형
- 접미사 추가: getmemo, trymemo, usememo
- 다른 TLD: .io, .co, .app 사용
하이픈 넣으면 구려 보인다. my-cool-app.com 이런 거. 피하는 게 좋음.
결국 좀 길어도 하이픈 없는 걸로 했다.
도메인 검색할 때 팁: 검색만 하면 누군가 바로 사가는 경우 있음 (도메인 프론트러닝). 신뢰할 수 있는 등록업체에서만 검색하자.
DNS 설정 #
DNS는 도메인을 IP 주소로 연결하는 시스템이다.
사람은 example.com을 기억하지만, 컴퓨터는 IP 주소 (93.184.216.34)를 사용한다. DNS가 이걸 변환해준다.
A 레코드: 도메인 → IP 주소
example.com → 93.184.216.34
서버 IP 주소 알 때 사용. AWS EC2나 자체 서버 쓸 때.
CNAME 레코드: 도메인 → 다른 도메인
www.example.com → example.com
example.com → my-app.vercel.app
Vercel, Netlify 같은 서비스 쓸 때 많이 사용. 서비스가 제공하는 도메인으로 연결.
실제 설정 예시 (Vercel 사용 시):
- Vercel 대시보드에서 도메인 추가
- Vercel이 필요한 레코드 알려줌
- 도메인 등록업체 DNS 설정에서 추가
타입: A
이름: @
값: 76.76.21.21
타입: CNAME
이름: www
값: cname.vercel-dns.com
설정하고 적용되는 데 시간 걸림. 보통 몇 분이지만 최대 48시간까지 걸릴 수 있음 (DNS 전파).
HTTPS #
HTTPS는 보안 연결이다. 주소창에 자물쇠 뜨는 거.
옛날에는 인증서 사서 서버에 설치하고 설정해야 했다는데, 지금은 대부분 자동이다.
Vercel, Netlify 사용 시: 자동. 도메인 연결하면 Let's Encrypt 인증서 알아서 발급해줌. 설정할 거 없음.
Cloudflare 사용 시: DNS를 Cloudflare로 쓰면 HTTPS 자동 적용. 무료.
직접 서버 운영 시: Let's Encrypt + Certbot 사용.
# Certbot으로 무료 인증서 발급 (Ubuntu)
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
# 자동 갱신 설정 (인증서는 90일마다 만료)
sudo certbot renew --dry-run
요즘은 HTTPS 필수다. HTTP만 쓰면:
- 브라우저에서 "안전하지 않음" 경고
- SEO 불이익
- 일부 API 사용 불가 (위치 정보 등)
Cloudflare 추천 #
Cloudflare 쓰면 여러 가지가 편해진다.
- 무료 DNS: 빠르고 안정적
- 무료 HTTPS: 인증서 자동 발급/갱신
- 무료 CDN: 전 세계에 캐시 서버. 속도 빨라짐
- 무료 DDoS 보호: 기본적인 공격 방어
- 도메인도 살 수 있음: 원가에 판매
설정 방법:
- Cloudflare 가입
- 사이트 추가
- 네임서버를 Cloudflare로 변경 (도메인 등록업체에서)
- DNS 레코드 설정
- 끝
나는 모든 프로젝트에 Cloudflare 붙여둠. 무료인데 안 쓸 이유가 없다.
서브도메인 #
서브도메인은 도메인 앞에 붙는 거다.
blog.example.com ← blog가 서브도메인
api.example.com ← api가 서브도메인
app.example.com ← app이 서브도메인
용도별로 나눌 때 유용:
- 블로그: blog.example.com
- API 서버: api.example.com
- 관리자 페이지: admin.example.com
DNS에서 CNAME이나 A 레코드로 각각 설정하면 됨.
체크리스트 #
도메인 설정할 때 확인할 것:
- [ ] 도메인 구매 완료
- [ ] DNS 레코드 설정 (A 또는 CNAME)
- [ ] HTTPS 적용 확인 (자물쇠 아이콘)
- [ ] www 있는 버전과 없는 버전 둘 다 작동
- [ ] 리다이렉트 설정 (www → non-www 또는 반대)
# 확인 방법
curl -I https://example.com
# HTTP/2 200 OK 나오면 성공
처음엔 복잡해 보이는데, 한 번 해보면 별거 아니다. 요즘 서비스들이 많이 자동화해줘서 예전보다 훨씬 쉬워졌다.
- Previous: Flutter로 6주 만에 앱 두 개 냈다
- Next: 혼자 하니까 외롭다