Files
my-docs/Web Servers & Reverse Proxies/Traefik/1-Information.md
2025-08-13 22:58:36 +03:30

1.8 KiB
Raw Blame History

🚦 Traefik Overview

Traefik is a modern reverse proxy and load balancer that makes deploying, securing, and managing microservices easier.


🔄 Core Concepts

1 Entrypoint 🛬

  • The starting point for incoming requests.
  • Example: :80 for HTTP or :443 for HTTPS.

2 Router 🚏

  • Decides where a request should go based on rules.
  • Connects entrypoints to services.

3 Service 🛠️

  • The actual application or backend that processes the request.

🧩 Routers Details

Routers can have:

  1. Middleware 🧱

    • Modify requests/responses before reaching the service.

    • Examples:

      • StripPrefix ➡️ Remove part of the URL path.
      • RateLimit ➡️ Limit request rate.
      • Auth ➡️ Add authentication.
  2. Rules 📜

    • Define how to match a request.

    • Examples:

      • Host("example.com")
      • PathPrefix("/api")

⚙️ Traefik Configuration Types

  1. Static Configuration 🗂️

    • Defines Traefiks own behavior.
    • Example: entrypoints, providers, log level.
    • Set in traefik.yml or CLI args.
  2. Dynamic Configuration 📡

    • Defines how Traefik routes requests.
    • Example: routers, services, middlewares.
    • Comes from files, Kubernetes CRDs, or Docker labels.

🔗 Request Flow

Request  
   ⬇️  
 Entrypoint 🛬  
   ⬇️  
 Router 🚏  
   ⬇️  
 Middleware 1 🧱 → Middleware 2 🧱  
   ⬇️  
 Service 🛠️  

🌟 Summary

Traefik acts like a smart traffic cop 🚓 for your microservices, ensuring that requests go exactly where they should, with the right rules and transformations applied along the way.