DEV Community

Haripriya Veluchamy
Haripriya Veluchamy

Posted on

When “Just Routing” Wasted 2 Days My Multi-Region Lesson

Deploying an app to multiple regions sounds straightforward just route traffic, right? That’s what I thought… until I spent 2 whole days chasing a 404.

Here’s what happened, and why choosing the right layer matters more than just picking a tool.


🎯 The Scenario

I had 3 App Services deployed in:

  • US
  • UK
  • India

My goal was simple: users should hit the nearest backend.

So naturally, I picked Azure Traffic Manager after all, it’s literally called “Traffic Manager.”
I added all 3 App Service endpoints, configured health probes, and expected everything to just work.

Spoiler alert: it didn’t.


🐛 The Problem

When I opened the Traffic Manager URL:

https://myapp.trafficmanager.net
Enter fullscreen mode Exit fullscreen mode

I got… 404.

I checked everything:

  • Endpoints were online ✅
  • Health probes passed ✅
  • DNS resolved correctly ✅

Still nothing. Hours went by, trying to fix custom domains, host headers, and SSL bindings.


🔍 The Real Issue

Here’s the key: Traffic Manager works at the DNS layer (OSI Layer 3–4)

  • It resolves the user to an endpoint based on latency, priority, or geography.
  • It does not handle HTTP(S) traffic (OSI Layer 7).
  • It does not rewrite host headers or terminate SSL.

So my App Services were receiving requests with the host header:

Host: myapp.trafficmanager.net
Enter fullscreen mode Exit fullscreen mode

…and they didn’t recognize it. Result? 404 every time.

Even after adding the traffic manager domain to custom domains on each App Service, it sometimes still fails due to SSL/host binding propagation and internal routing quirks.

💡 This is a very common issue in multi-region deployments many developers face it the first time they try Traffic Manager.


⚡ The Solution: Azure Front Door

After losing 2 days, I switched to Azure Front Door:

  • Added my 3 App Services as origins
  • Accessed https://<myfrontdoor>.azurefd.net

…and it worked instantly.

Why? Because Front Door operates at the HTTP application layer (OSI Layer 7):

  • Handles host header rewrites automatically
  • Terminates HTTPS
  • Provides WAF, caching, and edge acceleration
  • Performs real-time load balancing and failover

In short, Front Door doesn’t just route it actually handles your traffic properly.


🧠 When to Use Traffic Manager vs Front Door

Scenario Tool OSI Layer AWS Equivalent
DNS-level failover (multi-region) Traffic Manager Layer 3–4 (DNS / network) Route 53
Web apps / HTTP(S) traffic with global load balancing, caching, SSL, WAF Front Door Layer 7 (Application) CloudFront + Global Accelerator + ALB
Non-HTTP workloads (DB endpoints, APIs not exposed via HTTP) Traffic Manager Layer 3–4 Route 53
Edge acceleration + application-layer routing Front Door Layer 7 CloudFront + ALB / Global Accelerator

✅ For most web apps with multi-region deployments, Front Door (or CloudFront/Global Accelerator in AWS) is the better choice.
✅ Traffic Manager (or Route 53 weighted/geolocation routing) is mostly for DNS-level failover.


✅ Key Takeaways

  1. Understand the OSI layer your tool operates on — DNS/Network (3–4) vs Application (7).
  2. Traffic Manager ≠ Front Door — don’t confuse names with capabilities.
  3. Host headers matter — App Services won’t respond to unknown domains.
  4. Edge acceleration, SSL, and WAF are often just as important as routing.
  5. This 404 issue is common — you’re not alone if it happens.

👏 Final Thoughts

Sometimes, the simplest goal “just route users to the nearest region” can turn into a multi-day headache if you pick the wrong layer.

Azure Front Door saved me hours, but the lesson stuck: understand what your tool actually does, not just what it sounds like.


Top comments (0)