← 返回
效率工具
中文
Traefik
Avoid common Traefik mistakes — router priority, TLS configuration, Docker labels syntax, and middleware ordering.
{
"final_translation": "避免 Traefik 常见错误:路由优先级、TLS 配置、Docker 标签语法及中间件顺序。"
}
ivangdavila
效率工具
clawhub
v1.0.0 1 版本 99843.8 Key: 无需
#latest
概述
Router Basics
- Router must have
rule AND service — missing either = not working - Rule priority: longer rules win by default — explicit
priority to override Host() is case-insensitive — Host(\example.com\) matches Example.com- Multiple hosts:
Host(\a.com\) || Host(\b.com\) — OR logic
Docker Labels Syntax
- Labels on container, not compose service level —
deploy.labels for Swarm - Backticks for rules in Docker Compose —
Host(\example.com\) with escaping - Enable per-container:
traefik.enable=true — if exposedByDefault=false - Service name auto-generated from container — or set explicitly with
traefik.http.services.myservice.loadbalancer.server.port=80
TLS and Certificates
- EntryPoint
websecure needs TLS config — otherwise plain HTTP on 443 - Let's Encrypt:
certificatesResolvers.myresolver.acme.email required — registration fails without - HTTP challenge needs port 80 open — DNS challenge for wildcard or closed 80
tls=true on router activates TLS — tls.certresolver=myresolver for auto-cert- Staging ACME for testing —
caServer to staging URL, avoids rate limits
EntryPoints
- Define in static config —
--entrypoints.web.address=:80 - Redirect HTTP to HTTPS at entrypoint level — cleaner than per-router middleware
- Router binds to entrypoint with
entryPoints=web,websecure — comma-separated list
Middlewares
- Chain order matters — first middleware wraps all following
- Middleware defined once, used by many routers —
middlewares=auth,compress - Common:
stripPrefix, redirectScheme, basicAuth, rateLimit - BasicAuth: use
htpasswd format — escape $ in Docker Compose with $$
Service Configuration
loadbalancer.server.port when container exposes multiple — Traefik can't guess- Health check:
healthcheck.path=/health — removes unhealthy from rotation - Sticky sessions:
loadbalancer.sticky.cookie.name=srv_id — for stateful apps
Common Mistakes
- Router without entryPoint — defaults may not be what you expect
- Forgetting
traefik.docker.network with multiple networks — Traefik picks wrong one - ACME storage not persisted — certificates regenerated, hits rate limit
- Dashboard exposed without auth —
api.insecure=true is dangerous in production - PathPrefix without StripPrefix — backend receives full path, may 404
- Services on different ports — each needs explicit port label
File Provider
watch=true for hot reload — otherwise restart Traefik on changes- Can coexist with Docker provider — useful for external services
- Define routers, services, middlewares in YAML — same concepts as labels
Debugging
--log.level=DEBUG for troubleshooting — verbose but helpful- Dashboard shows routers, services, middlewares — verify configuration
--api.insecure=true for local dev only — secure with auth in production
版本历史
共 1 个版本
-
v1.0.0
当前
2026-03-29 01:42 安全 安全
安全检测
腾讯云安全 (Sanbu)
安全,无风险
查看报告
🔗 相关推荐
productivity
ivangdavila
创建、检查和编辑 Microsoft Word 文档及 DOCX 文件,支持样式、编号、修订记录、表格、分节符及兼容性检查等功能。
★ 439
📥 147,717
productivity
ide-rea
使用百度AI搜索引擎(BDSE)进行网络搜索。适用于获取实时信息、文档资料或研究课题。
★ 237
📥 105,588
productivity
steipete
获取当前天气和预报(无需API密钥)
★ 445
📥 226,320