Well, I'm just confused. I have a couple of containers that worked fine behind Traefik v2 up until a few weeks ago. Then they just stopped working with Traefik, no idea why, I didn't change anything, I think I rebooted the Docker host and they stopped after that. I have in total 4 services with their own host names and certs from Let's Encrypt. 2 containers are being reverse proxied fine, 2 aren't anymore.
I'll just describe one of the broken ones, and see if anyone here can help me figure out the deal. First up, Traefik's dashboard sees everything fine. I see a router with the correct host name. I don't have any middleware defined for this particular service. I see the entry in HTTP services, with the correct IP and port.
I have the port mapped in my compose, and also exposed (I've also tried it just using expose, in case there was some collision, no change though). If I go directly to the Docker host on that port, I'm able to pull the application up fine. I see the request in the app logs. If I go to the public domain name though, I get a gateway timeout, and I don't ever see the request in the app logs. The public name issue happens from inside my network and outside it. I have NAT hairpinning enabled, so the request should be able to come from my local network and still work (and does for my other services that are working fine). The other app (actually, I forgot, there are 2 other apps) are both accessible from within the network under the public host name, so it doesn't seem like it's the NAT hairpin that's the problem.
Docker-compose is this more or less:
MyApp:
restart: unless-stopped
image: linuxserver/MyApp
container_name: MyApp
environment:
- TZ=America/Detroit
- PUID=996
- PGID=996
- USER=obfuscated
- PASS=obfuscated
labels:
- "traefik.enable=true"
- "traefik.http.services.MyApp.loadbalancer.server.port=9081"
- "traefik.http.routers.MyApp.rule=Host(`hostname.mydomain.net`)"
- "traefik.http.routers.MyApp.entrypoints=websecure"
- "traefik.http.routers.MyApp.tls.certresolver=mytlschallenge"
volumes:
- /MyAppconfig:/config
- /NAS/data:/data
expose:
- "9081"
ports:
- 8084:8080
- 8085:9081
So basically:
http://docker:8085
works as expected
https://hostname.mydomain.net
doesn't work at all, but used to. My 4 containers are all basically laid out like that one, but 2 work fine, and 2 stopped working at all, and I haven't been able to figure out why.
Any ideas?
Thanks!