Back to Blog
team@tinypod.app

Understanding DNS: How Domain Names Connect to Your Server

DNS is the phone book of the internet. Learn how it works and how to point your domain to your self-hosted applications.

dnsdomainsnetworking

What Is DNS?


DNS (Domain Name System) translates human-readable domain names (like tinypod.app) into IP addresses (like 213.199.44.167) that computers use to find each other. Without DNS, you'd have to memorize IP addresses for every website.


How DNS Resolution Works


1. You type example.com in your browser

2. Your computer checks its local cache

3. If not cached, it asks your ISP's DNS resolver

4. The resolver asks the root DNS servers: "Who handles .com?"

5. The root servers point to the .com TLD servers

6. The TLD servers point to the authoritative nameservers for example.com

7. The authoritative nameserver returns the IP address

8. Your browser connects to that IP


This entire process takes 20-100 milliseconds.


DNS Record Types


A Record

Maps a domain to an IPv4 address. The most common record type.

  • example.com → 93.184.216.34

  • AAAA Record

    Maps a domain to an IPv6 address.

  • example.com → 2606:2800:220:1:248:1893:25c8:1946

  • CNAME Record

    Creates an alias from one domain to another. Useful for subdomains.

  • www.example.com → example.com
  • blog.example.com → example.netlify.app

  • MX Record

    Specifies the mail server for a domain.

  • example.com MX → mail.example.com

  • TXT Record

    Stores arbitrary text. Used for domain verification, SPF, DKIM, and DMARC.


    Setting Up DNS for Self-Hosted Apps


    Step 1: Get Your Server's IP

    Find the IP address of your TinyPod server in the dashboard.


    Step 2: Add an A Record

    In your domain registrar or DNS provider (Cloudflare, Namecheap, Route53):

  • Type: A
  • Name: @ (for root domain) or your subdomain
  • Value: Your server's IP address
  • TTL: 3600 (1 hour)

  • Step 3: Wait for Propagation

    DNS changes take 5 minutes to 48 hours to propagate globally. Usually it's under 30 minutes.


    Step 4: Configure Your App

    Tell your application about the custom domain. TinyPod handles this in the dashboard — add the domain and SSL is provisioned automatically.


    Common DNS Providers


  • **Cloudflare**: Free, fast, with DDoS protection. Recommended.
  • **Namecheap**: Included with domain registration.
  • **Route53**: AWS's DNS service. Pay per query.

  • DNS Troubleshooting


    "DNS not propagated yet"

    Use dig or nslookup to check current DNS resolution. Try dig example.com @8.8.8.8 to check Google's DNS directly.


    "SSL certificate failed"

    Your DNS must point to your server before SSL can be provisioned. Let's Encrypt verifies domain ownership by making an HTTP request to your server.


    "www works but root domain doesn't"

    You probably set up a CNAME for www but forgot the A record for the root domain.