Put A Subdomain On A Different Server

A complete guide to configuring DNS records for scalable backend architecture—learn to point subdomains to separate servers with confidence.

Understanding Subdomain DNS Fundamentals

A subdomain is a prefix that exists under a main domain name. For example, in "api.example.com," "api" is the subdomain of example.com. Subdomains help organize and route traffic to specific services, such as API endpoints, developer portals, and staging environments.

DNS (Domain Name System) records are what make it possible for domain names to point you to specific web servers. Without the right records, traffic will get lost in the shuffle—DNS queries may fail, resulting in errors or routing to the wrong place entirely.

The Role of DNS in Subdomain Routing

When a user types "api.yourdomain.com" into their browser, the DNS system performs a lookup to determine where that request should be sent:

  1. Recursive DNS Query: The user's device contacts a DNS resolver to find the IP address
  2. Root Server Lookup: The resolver queries root servers to find the TLD (.com) nameservers
  3. TLD Nameserver Query: The resolver queries the TLD nameservers for your domain's authoritative nameservers
  4. Authoritative Nameserver Query: The resolver queries your domain's nameservers for the specific subdomain record
  5. IP Resolution: The DNS record returns the IP address of your target server

Why Host Subdomains on Different Servers?

  • Isolation and Security: Running your main website on one server and your API on another creates a security boundary
  • Scalability: Different services often have different scaling requirements
  • Technology Flexibility: Your main site might run on PHP/Apache while your API uses Node.js
  • Reliability: Problems on one server don't automatically take down your entire online presence

For applications requiring scalable infrastructure design, proper subdomain routing is essential for maintaining clean architectural boundaries between services.

A Records vs CNAME Records

Choose the right DNS record type for your configuration

A Records

Map a subdomain directly to an IPv4 address. Use when your server has a static, dedicated IP address and you need the fastest possible DNS resolution.

CNAME Records

Create aliases pointing one domain to another. Use when pointing to services that manage their own IPs like AWS ELB, Heroku, or Cloudflare.

Critical Rule

Never mix A and CNAME records for the same subdomain—it creates conflicts that browsers handle unpredictably.

Step-by-Step: Configuring Your DNS Records

Step 1: Gather Your Target Server Information

For A records, you'll need:

  • The static IPv4 address of your server (e.g., 203.0.113.42)
  • Optionally, an IPv6 address if using dual-stack networking

For CNAME records, you'll need:

  • The canonical domain name you'll be pointing to (e.g., my-api.herokuapp.com)

Server preparation checklist:

  • Web server (nginx, Apache) is installed and configured
  • Firewall rules allow incoming traffic on ports 80 (HTTP) and 443 (HTTPS)
  • SSL certificate is installed
  • Server responds correctly when accessed by IP address

Step 2: Create the Subdomain Record

For an A record:

  1. Select "Add New Record"
  2. Choose "A" as the record type
  3. Enter your subdomain name (e.g., "api" for api.yourdomain.com)
  4. Enter the target IPv4 address
  5. Set TTL to 3600 seconds (1 hour)
  6. Save the record

For a CNAME record:

  1. Select "Add New Record"
  2. Choose "CNAME" as the record type
  3. Enter your subdomain name
  4. Enter the canonical domain name without protocol
  5. Set TTL to 3600 seconds
  6. Save the record

Step 3: Configure Your Target Server

Nginx example:

server {
    listen 80;
    server_name api.yourdomain.com;
    root /var/www/api;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

Apache example:

<VirtualHost *:80>
    ServerName api.yourdomain.com
    DocumentRoot /var/www/api
</VirtualHost>

Step 4: Configure SSL/TLS

Use Certbot to obtain free Let's Encrypt certificates:

sudo certbot --nginx -d api.yourdomain.com

Proper server configuration is critical for both web development projects and API services. Ensuring your web server correctly handles subdomain requests prevents common routing issues that can impact user experience and search engine visibility.

Implementing AI automation for infrastructure management can help automate SSL certificate renewal and monitoring across multiple subdomains, reducing manual overhead and potential security gaps.

Verify Your DNS Configuration
1# Check A record resolution2dig api.yourdomain.com +short3 4# Check CNAME record5dig api.yourdomain.com CNAME6 7# Check from Google DNS (8.8.8.8)8dig @8.8.8.8 api.yourdomain.com9 10# Using nslookup11nslookup api.yourdomain.com12 13# Flush local DNS cache14# Windows:15ipconfig /flushdns16# macOS:17sudo dscacheutil -flushcache18# Linux:19sudo systemd-resolve --flush-caches

Best Practices for Subdomain Management

Document Architecture

Track subdomain names, purposes, target servers, DNS record types, TTL settings, and certificate expiration dates.

Consistent TTL Values

Standardize TTL across your domain: 3600 for production, 86400 for static infrastructure, 300 during migrations.

Implement Health Checks

Use uptime monitoring services like Pingdom or UptimeRobot for business-critical subdomains with alerting.

Plan Certificate Management

Use wildcard certificates when appropriate, automate renewal with Let's Encrypt, track expiration dates.

Separate Environments

Use distinct subdomains: api.yourdomain.com (prod), staging.api.yourdomain.com (staging), dev.api.yourdomain.com (dev).

Security Isolation

Never expose admin panels publicly, use VPN for internal-only services, implement IP allowlisting.

Ready to Scale Your Backend Infrastructure?

Our team can help you design and implement robust subdomain architectures for your applications.