Hi all. Posted this on the issues page on github, and it was closed due to it apparently being a question and not an issue. Hoping someone can help me with the below. Here is a link to the now closed issue so you can see the the whole thread: Slower Container Local Network Access with Traefik · Issue #11730 · traefik/traefik · GitHub
Please excuse the github formatting:
What did you do?
I'm soley using Traefik to route traffic to internal container IPs based on subdomains. I use AdGuard Home for DNS rewrites, directing those subdomains to Traefik's container IP. My Traefik configuration appears to be working for basic routing, as confirmed by successful routing to several containers now routing internally via Traefik. I can ping the subdomains, and they resolve to Traefik's IP with very low latency (<1ms) compared to those not managed by Traefik.
What did you see instead?
While basic routing and DNS resolution work, I've observed slower download/upload speeds when transferring large files to/from containers via the Traefik-managed subdomains compared to accessing the containers directly using their internal IP and port. The speed is better than before Traefik, but still significantly slower than a direct connection.
What version of Traefik are you using?
3.3.6
What is your environment & configuration?
Deployment: Docker Compose
Traefik Docker Compose:
Provider: Docker
Platform: ArchLinux
services:
traefik:
image: traefik:latest
container_name: traefik
command:
- "--api.insecure=true" # Enable the Traefik dashboard (for local access only, secure it later if needed)
- "--providers.docker=true" # Enable Docker provider
- "--providers.docker.exposedbydefault=false" # Don't expose all containers by default
- "--entrypoints.web.address=:80" # HTTP entrypoint
- "--entrypoints.websecure.address=:443" # HTTPS entrypoint (even if Cloudflare handles SSL externally)
- "--providers.redis=true" # Enable Redis provider
- "--providers.redis.endpoints=traefik-redis:6379"
- "--providers.redis.rootKey=traefik"
ports:
- "7480:80" # Host port 80 forwarded to container port 80
- "7443:443" # Host port 443 forwarded to container port 443
- "8880:8080" # Host port 8080 forwarded to the Traefik dashboard (for local access)
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro" # Allow Traefik to listen to Docker events
networks:
- traefik-net
redis:
image: redis:alpine
container_name: traefik-redis
restart: unless-stopped
volumes:
- redis-data:/data
ports:
- "6379:6379" # Publish Redis on the host
networks:
- traefik-net
networks:
traefik-net:
name: traefik-net
volumes:
redis-data: