Information request
I am using the traefik traefik:v2.2.8 with the following configuration(which is working correctly using other dockers):
command:
- "--log.level=DEBUG"
- "--providers.docker.endpoint=unix:///var/run/docker.sock"
- "--providers.docker.swarmMode=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.file=true"
- "--providers.file.directory=/etc/traefik/"
- "--providers.file.watch=true"
- "--api.dashboard=true"
- "--providers.docker.network=Traefik_default"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.letsencryptresolver.acme.httpchallenge=true"
- "--certificatesresolvers.letsencryptresolver.acme.httpchallenge.entrypoint=web"
#- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.letsencryptresolver.acme.email=mail"
- "--certificatesresolvers.letsencryptresolver.acme.storage=/letsencrypt/acme.json"
ports:
- 80:80
- 443:443
volumes:
# To persist certificates
- traefik-certificates:/letsencrypt
# So that Traefik can listen to the Docker events
- /var/run/docker.sock:/var/run/docker.sock:ro
- Rules_traefik:/etc/traefik
networks:
- Traefik_default
deploy:
placement:
constraints:
- node.role == manager
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik-http.entrypoints=web"
- "traefik.http.routers.traefik-http.rule=Host(`hostname`)"
- "traefik.http.routers.traefik-http.middlewares=traefik-https"
- "traefik.http.middlewares.traefik-https.redirectscheme.scheme=https"
- "traefik.http.routers.traefik.rule=Host(`hostname`)"
- "traefik.http.services.api@internal.loadbalancer.server.port=8080"
- "traefik.http.routers.traefik.entrypoints=websecure"
- "traefik.http.routers.traefik.tls.certresolver=letsencryptresolver"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.middlewares=auth"
- "traefik.http.middlewares.auth.basicauth.users=user:{SHA}blabla"
- "traefik.docker.network=Traefik_default"
and then my pwd configuration has the following configuration from a file provider:
[http.routers]
# Define a connection between requests and services
[http.routers.pwd]
rule = "Host(`hostname`)"
entrypoints = ["web"]
service = "pwd"
middlewares = ["middleexample"]
#[http.routers.pwd.tls]
# certResolver = "letsencryptresolver"
[http.middlewares]
[http.middlewares.middleexample.headers]
[http.middlewares.middleexample.headers.customRequestHeaders]
X-Forwarded-Proto = "http"
[http.services]
# Define how to reach an existing service on our infrastructure
[http.services.pwd.loadBalancer]
passHostHeader = true
[[http.services.pwd.loadBalancer.servers]]
url = "http://10.0.1.223:2222"
So I am able to enter in the initial pwd webpage and create the instance, but then we I deploy the docker seems like traefik is blocking the page (for example deploying a nginx I am not able to access to the generated link like http://ip10-0-1-4-bu7ib2almt60cb4lvscg-8080.direct.hostname) because it gives me an 404 error page not found.
Early with an apache this was working correctly with the following configuration:
ServerName hostname
ServerAdmin mail@gmail.com
RewriteEngine on
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule /(.*) ws://127.0.0.1:2222/$1 [P,L]
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:2222/
ProxyPassReverse / http://127.0.0.1:2222/
What did you expect to see?
Enter to the desired link
What did you see instead?
an 404 error page
Output of traefik version
: (What version of Traefik are you using?)
nothing in the log