mirror of
				https://github.com/traefik/traefik.git
				synced 2025-11-04 02:11:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
```yaml tab="Docker & Swarm"
 | 
						|
# Dynamic Configuration
 | 
						|
labels:
 | 
						|
  - "traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
 | 
						|
  - "traefik.http.routers.dashboard.service=api@internal"
 | 
						|
  - "traefik.http.routers.dashboard.middlewares=auth"
 | 
						|
  - "traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
 | 
						|
```
 | 
						|
 | 
						|
```yaml tab="Docker (Swarm)"
 | 
						|
# Dynamic Configuration
 | 
						|
deploy:
 | 
						|
  labels:
 | 
						|
    - "traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
 | 
						|
    - "traefik.http.routers.dashboard.service=api@internal"
 | 
						|
    - "traefik.http.routers.dashboard.middlewares=auth"
 | 
						|
    - "traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
 | 
						|
    # Dummy service for Swarm port detection. The port can be any valid integer value.
 | 
						|
    - "traefik.http.services.dummy-svc.loadbalancer.server.port=9999"
 | 
						|
```
 | 
						|
 | 
						|
```yaml tab="Kubernetes CRD"
 | 
						|
apiVersion: traefik.io/v1alpha1
 | 
						|
kind: IngressRoute
 | 
						|
metadata:
 | 
						|
  name: traefik-dashboard
 | 
						|
spec:
 | 
						|
  routes:
 | 
						|
  - match: Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
 | 
						|
    kind: Rule
 | 
						|
    services:
 | 
						|
    - name: api@internal
 | 
						|
      kind: TraefikService
 | 
						|
    middlewares:
 | 
						|
      - name: auth
 | 
						|
---
 | 
						|
apiVersion: traefik.io/v1alpha1
 | 
						|
kind: Middleware
 | 
						|
metadata:
 | 
						|
  name: auth
 | 
						|
spec:
 | 
						|
  basicAuth:
 | 
						|
    secret: secretName # Kubernetes secret named "secretName"
 | 
						|
```
 | 
						|
 | 
						|
```yaml tab="Consul Catalog"
 | 
						|
# Dynamic Configuration
 | 
						|
- "traefik.http.routers.dashboard.rule=Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
 | 
						|
- "traefik.http.routers.dashboard.service=api@internal"
 | 
						|
- "traefik.http.routers.dashboard.middlewares=auth"
 | 
						|
- "traefik.http.middlewares.auth.basicauth.users=test:$$apr1$$H6uskkkW$$IgXLP6ewTrSuBkTrqE8wj/,test2:$$apr1$$d9hr9HBB$$4HxwgUir3HP4EsggP/QNo0"
 | 
						|
```
 | 
						|
 | 
						|
```yaml tab="File (YAML)"
 | 
						|
# Dynamic Configuration
 | 
						|
http:
 | 
						|
  routers:
 | 
						|
    dashboard:
 | 
						|
      rule: Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))
 | 
						|
      service: api@internal
 | 
						|
      middlewares:
 | 
						|
        - auth
 | 
						|
  middlewares:
 | 
						|
    auth:
 | 
						|
      basicAuth:
 | 
						|
        users:
 | 
						|
          - "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"
 | 
						|
          - "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"
 | 
						|
```
 | 
						|
 | 
						|
```toml tab="File (TOML)"
 | 
						|
# Dynamic Configuration
 | 
						|
[http.routers.my-api]
 | 
						|
  rule = "Host(`traefik.example.com`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))"
 | 
						|
  service = "api@internal"
 | 
						|
  middlewares = ["auth"]
 | 
						|
 | 
						|
[http.middlewares.auth.basicAuth]
 | 
						|
  users = [
 | 
						|
    "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/",
 | 
						|
    "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0",
 | 
						|
  ]
 | 
						|
```
 |