gdomod
1
Hi there, im poweruser
of traefik 1.7 but letsencrypt runs out of support. ok time for new things.
In old settings i have basicauth for all my services and only https, can anybody help me to migrate my old settings.
[api]
entryPoint = "admin"
dashboard = true
address = ":8080"
debug = true
[entryPoints]
[entryPoints.admin]
address = ":8080"
[entryPoints.https]
address = ":12345"
[entryPoints.https.auth]
[entryPoints.https.auth.basic]
removeHeader = true
users = [
"user:hash"
]
[entryPoints.https.tls]
RULES:
[backends]
[backends.admin]
[backends.admin.servers]
[backends.admin.servers.server0]
url = "http://127.0.0.1:8000"
[frontends]
[frontends.admin]
entrypoints = ["https"]
backend = "admin"
passHostHeader = true
#passTLSCert = true
[frontends.admin.routes]
[frontends.admin.routes.route0]
rule = "PathPrefixStrip:/admin"
gdomod
2
I try settings inside composer without tomls
i just have problems to enable basicauth to all my services inclusive /admin or /dashboard
maybe i need to edit with command --entrypoints.websecure.http.middlewares.basicauth.users ? but i didnt found documentation
version: "3.6"
networks:
default:
driver: bridge
internal:
internal: true
external:
name: internal
services:
traefik:
hostname: traefik
image: traefik:latest
container_name: traefik
restart: always
domainname: example.com
networks:
- default
- internal
ports:
- "12345:12345"
command:
"--providers.docker=true"
"--defaultentrypoints=websecure"
"--entryPoints=Name:websecure Address::12345 TLS"
"--providers.docker.exposedByDefault=false"
"--entryPoints.websecure.address=:12345"
## GLOBAL AUTH ?
"--entryPoints.websecure.basicauth.removeHeader=true"
"--entryPoints.websecure.basicauth.users=user:hash"
"--api.dashboard=true"
#####ACME
"--certificatesResolvers.myresolver.acme.email=user@mail.de"
"--certificatesResolvers.myresolver.acme.storage=acme.json"
"--certificatesResolvers.myresolver.acme.dnsChallenge.provider=netcup"
"--certificatesResolvers.myresolver.acme.dnsChallenge.delayBeforeCheck=900"
"--certificatesResolvers.myresolver.acme.dnsChallenge.resolvers=8.8.8.8:53, 8.8.4.4:53,46.38.225.230:53"
environment:
- NETCUP_CUSTOMER_NUMBER=
- NETCUP_API_PASSWORD=
- NETCUP_API_KEY=
labels:
- "traefik.enable=true"
## GLOBAL AUTH ?
#- "traefik.http.routers.admin.rule=Host(`example.com`) && PathPrefix(`/admin`)"
#- "traefik.http.routers.admin.middlewares=admin-stripprefix"
#- "traefik.http.middlewares.admin-stripprefix.stripprefix.prefixes=/admin"
####DASHBOARD
- "traefik.http.routers.api.rule=PathPrefix('/admin')"
- "traefik.http.routers.api.service=api@internal"
- "traefik.http.routers.api.middlewares=auth"
- "traefik.http.middlewares.auth.basicauth.users=user:hash"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /root/config/traefik/data:/etc/traefik
- /root/config/traefik/shared:/shared
ldez
3
Hello,
something like that:
version: '3.7'
services:
traefik:
image: traefik:v2.2.0
command:
- --log.level=DEBUG
- --api
- --providers.docker.exposedbydefault=false
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entrypoints.web.http.redirections.entrypoint.scheme=https
- --entrypoints.websecure.address=:443
- --entrypoints.websecure.http.tls=true
- --entrypoints.websecure.http.tls.certResolver=leresolver
- --entrypoints.websecure.http.middlewares=auth@docker
- --certificatesresolvers.leresolver.acme.email=your@email.com
- --certificatesresolvers.leresolver.acme.storage=/letsencrypt/acme.json
- --certificatesresolvers.leresolver.acme.tlschallenge=true
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./letsencrypt/:/letsencrypt
labels:
traefik.enable: true
# Dashboard
traefik.http.routers.traefik.rule: Host(`traefik.localhost`)
traefik.http.routers.traefik.entrypoints: websecure
traefik.http.routers.traefik.service: api@internal
traefik.http.middlewares.auth.basicauth.users: user:$$apr1$$q8eZFHjF$$Fvmkk//V6Btlaf2i/ju5n/ # user/password
whoami:
image: containous/whoami:v1.5.0
labels:
traefik.enable: true
traefik.http.routers.app.rule: Host(`whoami.localhost`)
traefik.http.routers.app.entrypoints: websecure